はじめに
サーバーを運用していると、SSL(HTTPS)の更新タイミングが気になることはありませんか。
特にLet’s Encrypt + Certbotを利用している場合、基本は自動更新に任せられるものの、、、、、、
- 特定のドメインだけ手動で更新したい
- 年末年始や長期不在前に、期限を待たず更新しておきたい
- 自動更新が正常に動いているか不安
といったケースは稀にありませんか?
前提条件
- Let’s Encryptを利用してSSLを発行している
- Certbotを使用している
- Linuxサーバー(ApacheまたはNginx)
SSL証明書を手動で更新する方法
通常の更新コマンド
SSL証明書の有効期限が30日未満の場合は、以下のコマンドで更新できます。
本番コマンドを実行する前にテストコマンドでまず更新ができるのかを確かめてください。
# certbot renew --dry-run実行が可能となれば以下のコマンドでSSLを更新してください。
このコマンドは、更新対象の証明書が存在する場合のみ実行されます。
#sudo certbot renew30日経っていない場合でも、SSLを強制更新する方法
強制更新コマンド
# sudo certbot renew --force-renewalこの –force-renewal を付けることで、 有効期限に関係なくSSL証明書を再発行できます。
- 旅行や長期休暇前に更新しておきたい
- 本番反映前に証明書を更新したい
- 更新処理を事前にテストしたい
といったシーンで非常に便利です。
特定のドメインだけSSLを更新したい場合
1台のサーバーで複数サイトを管理している場合、 特定のドメインのみ更新したいこともあります。
その場合は、以下のコマンドを使用します。
# sudo certbot certonly --force-renewal -d abcdefg.comabcdefg.com の部分を対象ドメインに置き換えてください。
複数ドメインの場合は -d を追加します。
更新後はWebサーバーの再読み込みを忘れずに
SSL証明書を更新しただけでは、Webサーバーに反映されません。
必ず再読み込み(reload)を行ってください。
Apacheの場合
# systemctl reload httpdNginxの場合
# systemctl reload nginx※ restart ではなくreloadで問題ありません。
SSLが正しく更新されたか確認する方法
以下のコマンドで、証明書の有効期限や対象ドメインを確認できます。
# sudo certbot certificatesここで更新後の日付になっていれば成功です!!!!
まとめ
- CertbotではSSL証明書を手動で更新できる
- –force-renewal を使えば30日未満でも強制更新可能
- 特定ドメインのみの更新も対応可能
- 更新後は Apache / Nginx の reload を忘れない
SSL更新はトラブルが起きると致命的になりやすいポイントです。
不安を感じたタイミングで、早めに手動更新しておく ことをおすすめします。
同じようにCertbot運用で悩んでいる方の参考になれば幸いです。
Let’s Encryptは無料で導入できるため費用を抑えるためにも導入したいところです。
ドメインはムームードメインを利用しています。
UIも簡易でわかりやすいので、大変気に入ってます。
それではまた!
.webp)
コメント