Basic認証のサイトでLet’s Encryptの自動更新をする方法

対策

特定ディレクトリのBasic認証を外す

#nginx例
location ^~ /.well-known/acme-challenge/ {
satisfy any;
allow all;
}

以下、知識として

「Let’s Encrypt」は、証明書更新時に、ドメインの所有者を確認しています。
具体的な方法としては、更新処理の中で、公開ディレクトリ内の「/.well-known/acme-challenge/」に認証用ファイルを作成して、それを外部から見れたら、ドメインの所有者だと確認しています。

つまりBasic認証がかかっているため、認証用ファイルを外部から確認できず、自動更新できないのです。

認証用ファイル名は毎回異なります。
ディレクトリ単位でBasic認証を外しておきましょう。