如何为 dotnet C# MVC 路由配置 Apache ProxyPass 和 ProxyReverse 以获得 .well-known 的异常

How to configure Apache ProxyPass and ProxyReverse for dotnet C# MVC routing in order to get exception for .well-known

我在 ASP.NET MVC Core 3.1 C# 运行 的 Debian 上有一个网站 Apache 2 trought a ProxyPass and ProxyReverse 和一个功能域和 SSL 让我们在 site-com.conf 文件中使用以下配置加密证书:

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

目前一切顺利,效果很好。但是每次我需要更新我的证书时,我都必须将配置更改为 <Directory> 以便 certbot 可以找到 .well-know 目录。这不是问题,但此失误的网站已离线,我无法自动执行该过程。

所以我研究了Server FaultStack Overflow几个解决方案,都没有用。更接近的解决方案是:Exclude an alias from virtualhost proxypass

但我无法让它发挥作用。上次尝试使用此配置:

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>

url example.com/.well-known/acme-challenge/fileMVC Routing. 抓住了 我还创建了一个 index.html 文件来检查 URL example.com/.well-known/acme-challenge/index.html 但发生了同样的情况。

我该如何配置?

我现在正在测试 RegEx,同时我们正在讨论,但 IDK 从哪里开始解决这个问题。
是的,我每次进行更改时都会重新启动并重新加载服务器。

如果您需要我的 conf 文件的更多信息或设置,请在配置文件中询问我。在此先感谢您的提示和帮助!

我终于成功了。有两个问题:1) 它与 ProxyPass precedence 一起工作得更好并且 Allow 不正确。

对于此配置有效:

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>