知ったきっかけ
サーバ設定時( https://pepophilia.com/2021/08/17/hello-world/ )にLETSENCRYPT_EMAILに指定したメールアドレス宛に証明書があと10日で切れる旨のメールが届いた。
原因調査
このDockerイメージ( https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion )で証明書の管理をしているが、基本的には30日前には更新処理が入るはず
Automatic certificate renewal
Every hour (3600 seconds) the certificates are checked and every certificate that will expire in the next 30 days (90 days / 3) are renewed.
ホストにSSHしてDockerログを見る。
# docker logs letsencrypt-nginx
...
[Fri Nov 12 12:02:51 UTC 2021] Getting webroot for domain='pepophilia.com'
[Fri Nov 12 12:02:52 UTC 2021] Getting webroot for domain='www.pepophilia.com'
[Fri Nov 12 12:02:52 UTC 2021] pepophilia.com is already verified, skip http-01.
[Fri Nov 12 12:02:52 UTC 2021] Verifying: www.pepophilia.com
[Fri Nov 12 12:02:55 UTC 2021] www.pepophilia.com:Verify error:DNS problem: NXDOMAIN looking up A for www.pepophilia.com - check that a DNS record exists for this domain
[Fri Nov 12 12:02:55 UTC 2021] Please check log file for more details: /dev/null
Sleep for 3600s
なんか www.pepofilia.com でNXDOMAIN が帰ってきてコケてる。
ネームサーバのレコード設定を見るとwwwが設定されてなかった。
これの問題でさくらのネームサーバに戻した際にwwwのcnameレコード追加し忘れてた模様。
( https://pepophilia.com/2021/09/14/vps%e3%81%ab%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%b5%e3%83%bc%e3%83%90%e8%bf%bd%e5%8a%a0%e3%83%a1%e3%83%a2/ )
ネームサーバに以下のレコードを追加する。
www CNAME pepophilia.com.
1時間ごとに証明書更新が走るので待機して再度ログ確認
# docker logs letsencrypt-nginx
...
[Fri Nov 12 13:03:01 UTC 2021] Verifying: www.pepophilia.com
[Fri Nov 12 13:03:04 UTC 2021] Success
...
よさそう。
数分してからブラウザから見える証明書の期限も更新されてたので一安心。