====== SSL証明書の自動更新に失敗(Let's Encrypt) ====== 自動更新に失敗した場合、以下のようなタイトルのメールが届きます。 > Let's Encrypt certificate expiration notice for domain "example.com" 実際にサイトにアクセスして証明書の有効期限を確認すると、30日を切っていることが確認できるかと思います。 そこで、サーバにアクセスし、certbot-renew のステータスを確認します。\\ (オプション -l を付けることで、詳細なログが表示されます) sudo systemctl status -l certbot-renew ● certbot-renew.service - This service automatically renews any certbot certificates found Loaded: loaded (/usr/lib/systemd/system/certbot-renew.service; static; vendor preset: disabled) Active: failed (Result: exit-code) since YYYY-mm-dd HH:ii:ss JST; 13h ago Process: 24164 ExecStart=/usr/bin/certbot renew $PRE_HOOK $POST_HOOK $RENEW_HOOK $CERTBOT_ARGS (code=exited, status=1/FAILURE) Main PID: 24164 (code=exited, status=1/FAILURE) n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: All renewal attempts failed. The following certs could not be renewed: n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: /etc/letsencrypt/live/example.com/fullchain.pem (failure) n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: Running post-hook command: apachectl graceful n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: 1 renew failure(s), 0 parse failure(s) n月 dd 03:28:13 XXX.XXX.XXX.XXX systemd[1]: certbot-renew.service: main process exited, code=exited, status=1/FAILURE n月 dd 03:28:13 XXX.XXX.XXX.XXX systemd[1]: Failed to start This service automatically renews any certbot certificates found. n月 dd 03:28:13 XXX.XXX.XXX.XXX systemd[1]: Unit certbot-renew.service entered failed state. n月 dd 03:28:13 XXX.XXX.XXX.XXX systemd[1]: certbot-renew.service failed. # より詳細なログを見たい場合は、以下のファイルを確認します sudo less /var/log/letsencrypt/letsencrypt.log ===== 自動更新失敗の原因 ===== - [[サーバ:ssl証明書:自動更新に失敗_let_s_encrypt:Basic認証で弾かれる|Basic認証で弾かれる]] - [[サーバ:ssl証明書:自動更新に失敗_let_s_encrypt:ドキュメントルートの問題|ドキュメントルートの問題]] - [[サーバ:ssl証明書:自動更新に失敗_let_s_encrypt:上記以外で自動更新に失敗|上記以外で自動更新に失敗]]