1

I've a site in ASP.NET MVC Core 3.1 C# running over a Debian with Apache 2 trought a ProxyPass and ProxyReverse and a functional domain and SSL Let's Encrypt certificate with the following configuration in a site-com.conf file:

ProxyPreserveHost On
ProxyPass / https://localhost:1234/
ProxyPassReverse / https://localhost:1234/
ProxyPassMatch ^/.well-known !

So far so good, this works fine. But every time I need to update my certificates and I have to change the configuration to <Directory> in order the certbot can find the .well-know directory. This is not a problem but the site for this lapse is offline and I can't automate the process.

So I researched in Server Fault and Stack Overflow several solutions, nothing works. The more close solution is on this: Exclude an alias from virtualhost proxypass

But I can't manage to made it work. Last attempt with this configuration:

ProxyPreserveHost On
    ProxyPass / https://localhost:1234/
    ProxyPassReverse / https://localhost:1234/
 ProxyPassMatch ^/.well-known !



Alias /.well-known "/www/example.com/public_html/.well-known" 
<Directory "/www/example.com/public_html/.well-known" > 
               Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
 </Directory>

The url example.com/.well-known/acme-challenge/file is catched by the MVC Routing. I also created a index.html file to check the URL example.com/.well-known/acme-challenge/index.html but happens the same.

How can I configure this?

I'm testing the RegEx now meanwhile we talk, but IDK where to begin to fix this.
Yes, I restart and reload the server everytime I do a change.

Leandro Bardelli
  • 10,561
  • 15
  • 79
  • 116

1 Answers1

2

I finally success. There were two problems: 1) It works better with ProxyPass precedence AND the Allow was not correct.

For this configuration it works:

ProxyPreserveHost On
ProxyPass /.well-known !
ProxyPass / https://localhost:1234/
ProxyPassReverse / https://localhost:1234/


Alias /.well-known "/example.com/public_html/.well-known" 
<Directory "/example.com/public_html/.well-known" > 
Options FollowSymLinks
AllowOverride All
Require all granted
 </Directory>
Leandro Bardelli
  • 10,561
  • 15
  • 79
  • 116