Let's EncryptのアクセスURLだけをApacheのベーシック認証から除外する
Let's EncryptがSSL証明書を発行するときには、Let's Encryptのクライアントはそのサイトにアクセスできることを調べます。ひとつ注意しないといけないのは、ベーシック認証をサイト全体にかけている場合に、Let's Encryptのクライアントがアクセスできなくなってしまうということです。
ここでは、Let's EncryptのアクセスURLだけを、ベーシック認証から除外する方法を解説します。
Apacheの設定ファイルで以下のように設定してください。
<Location / > AuthType Basic AuthName "Secret Zone" AuthUserFile /var/www/.htpasswd Require user foo </Location> <Location /.well-known/acme-challenge > Require all granted </Location>
Let's Encryptが使うパスだけは、接続をすべて許可してください。
/.well-known/acme-challenge
がLet's Encryptが使うパスです。
「/」がベーシック認証のパスになっていますが、その後ろの設定で「/.well-known/acme-challenge」のパスに対しては、すべての接続が許可されます。