Let's Encryptの更新に失敗する原因

無料で SSL/TLS のサーバ証明書 (DV 証明書) を発行できることで人気の Let's Encrypt ですが,90 日ごとに更新しなければなりません.

更新作業自体は簡単ですが,手順を間違えて失敗することもあったので,メモしておきます.

ポートが使われている場合

恐らく失敗する原因として最も多いのが,ポートが既に利用されているケースです.

Let's Encrypt は DV 証明書なので,利用するドメインに接続して認証する必要があります.そのため,更新する際には一度アプリケーションサーバを止めることになります.

タイミング悪く,この数秒の更新中にアクセスしてきたユーザーにはもれなくエラーが返されます...

terminal

# systemctl stop httpd.service
# certbot -h renew
# systemctl start httpd.service

ちなみに,実際には更新せず,ただテストしたい場合は 2 行目のコマンドの代わりに,こちらのコマンドで.

terminal

# certbot renew --dry-run

ドメインがリダイレクトされている場合

サーバ証明書を取得するとき,mktia.com, www.mktia.com, blog.mktia.com の 3 つで使えるようにしました.

更新作業を行ったところ,mktia.com だけが更新に失敗してしまい,その理由を考えていたのですが,ふとリダイレクトが原因なのではないかと思った次第です.

mktia.com に接続があった場合は www.mktia.com にリダイレクトするように .htaccess 辺りに記述したはずなので,ドメインを介した認証ができなさそうですね.

www.mktia.com のサーバ証明書は更新できているので,問題なく SSL/TLS で通信できていますし, まあいいのかな...