如何为 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 Fault
和Stack 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/file
被 MVC 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>
我在 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 Fault
和Stack 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/file
被 MVC 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>