Acme-Challenge 并非所有子域都可以请求?

Acme-Challenge 并非所有子域都可以请求?

我有 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-enabled000-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 节点上使用的,您可以自己测试,它运行得很好。只是分享这一小段配置。 :-)

相关内容