我有 Apache 2.4 和以下用于 acme 挑战的站点配置:
<IfModule mod_alias.c>
Alias /.well-known/acme-challenge /var/www/letsencrypt/challenges/
<Directory "/var/www/letsencrypt/challenges/">
Options -Indexes
</Directory>
</IfModule>
<IfModule mod_rewrite.c>
#Redirect before other rewrite rules
RewriteCond %{REQUEST_URI} /\.well\-known/acme\-challenge/
RewriteRule (.*) /.well-known/acme-challenge/$1 [L,QSA]
</IfModule>
该文件被链接为sites-enabled
,000-acme-challenge.conf
因此它比所有其他文件具有第一优先级。它似乎只适用于 PHP 作为 FPM 运行的子/域,而不适用于 GitWeb 作为 CGI 运行的地方。
奇怪的是,例如我的 GitWeb(可公开访问)被链接为010-git.conf
应该在 000 之后加载它(对吗?)。
另外,我收到某些网站的速率限制错误 429。也许我得在那里等一段时间。 ;-)
顺便说一句,所有子/域都运行VirtualHost
,包括 GitWeb。
答案1
我从端口 80 永久重定向到 443(使用 LetsEncrypt 证书),当存在 HTTPS 版本时,这通常是一个好主意。这些重定向导致证书无法验证(当然)。
有点帮助这个堆栈溢出回答(Cherry)我能够同时重定向并想出这个:
<IfModule mod_alias.c>
<VirtualHost f.haeder.net:80>
ServerName f.haeder.net
ServerAlias f.haeder.net
RedirectMatch permanent ^(?!/.well-known/acme-challenge/).* https://f.haeder.net/
</VirtualHost>
</IfModule>
这就是我在 Friendica 节点上使用的,您可以自己测试,它运行得很好。只是分享这一小段配置。 :-)