나는 acme 챌린지에 대해 Apache 2.4와 다음 사이트 구성을 가지고 있습니다.
<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
모든 파일보다 우선순위가 높습니다. GitWeb이 CGI로 실행되는 곳이 아니라 PHP가 FPM으로 실행되는 하위/도메인에서만 작동하는 것 같습니다.
이상하게도 예를 들어 내 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 노드에서 사용하는 것입니다. 직접 테스트해 보면 잘 작동합니다. 이 작은 구성을 공유하면 됩니다. :-)