🐧 Linux 総合学習プラットフォーム
中級 ・ TLS / 証明書 / certbot

TLS証明書の期限確認と更新

「サイトの証明書がもうすぐ切れる」という通知が来た。実際の残り日数を確かめ、Let's Encryptの証明書を安全に更新したい。

手順

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate実際にサーバへ接続して、いま配信されている証明書の失効日時を確認する。ローカルのファイルではなく「外から見えている証明書」を見るのが確実。
sudo certbot certificatesこのサーバでcertbotが管理している証明書の一覧と有効期限を確認する。ドメイン名と証明書パスの対応もここで分かる。
sudo certbot renew --dry-run更新処理をテスト環境(ステージングAPI)でリハーサルする。本番の発行回数制限を消費せずに、認証まわりの設定不備を先に洗い出せる。
sudo certbot renewdry-runが通ったら本更新。期限が近い証明書だけが自動的に更新される(余裕がある証明書はスキップされる)。
sudo systemctl reload nginxWebサーバに新しい証明書を読み込ませる。certbotのdeploy hookで自動化していないなら、この一手を忘れると古い証明書のまま配信が続く。
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate最初と同じコマンドで、外から見える失効日が延びたことを確認して完了。
注意Let's Encryptには発行回数のレート制限があり、失敗を繰り返すと一定期間発行できなくなる。本番renewの前に必ず--dry-runを挟む習慣をつけること。更新後のreload忘れも定番事故。

▶ 学習アプリで実務レシピを使う