SSLを手動で更新する方法|Certbotで30日経っていないくても強制更新する手順(Nginx / Apache対応)

SSLを手動で更新する方法|Certbotで30日経っていないくても強制更新する手順(Nginx / Apache対応)
目次

はじめに

サーバーを運用していると、SSL(HTTPS)の更新タイミングが気になることはありませんか。

特にLet’s Encrypt + Certbotを利用している場合、基本は自動更新に任せられるものの、、、、、、

  • 特定のドメインだけ手動で更新したい
  • 年末年始や長期不在前に、期限を待たず更新しておきたい
  • 自動更新が正常に動いているか不安

といったケースは稀にありませんか?

この記事では、Certbotを使ってSSL証明書を手動で更新する方法と、
30日以上でも強制的に更新できるコマンドを、実運用を前提にわかりやすく解説します。

前提条件

以下の人が対象です!

  • Let’s Encryptを利用してSSLを発行している
  • Certbotを使用している
  • Linuxサーバー(ApacheまたはNginx)

SSL証明書を手動で更新する方法

通常の更新コマンド

SSL証明書の有効期限が30日未満の場合は、以下のコマンドで更新できます。

本番コマンドを実行する前にテストコマンドでまず更新ができるのかを確かめてください。

# certbot renew --dry-run

実行が可能となれば以下のコマンドでSSLを更新してください。

このコマンドは、更新対象の証明書が存在する場合のみ実行されます。

#sudo certbot renew

30日経っていない場合でも、SSLを強制更新する方法

強制更新コマンド

# sudo certbot renew --force-renewal

この –force-renewal を付けることで、 有効期限に関係なくSSL証明書を再発行できます。

  • 旅行や長期休暇前に更新しておきたい
  • 本番反映前に証明書を更新したい
  • 更新処理を事前にテストしたい

といったシーンで非常に便利です。

特定のドメインだけSSLを更新したい場合

1台のサーバーで複数サイトを管理している場合、 特定のドメインのみ更新したいこともあります。

その場合は、以下のコマンドを使用します。

# sudo certbot certonly --force-renewal -d abcdefg.com

abcdefg.com の部分を対象ドメインに置き換えてください。
複数ドメインの場合は -d を追加します。

更新後はWebサーバーの再読み込みを忘れずに

SSL証明書を更新しただけでは、Webサーバーに反映されません。

必ず再読み込み(reload)を行ってください。

Apacheの場合

# systemctl reload httpd

Nginxの場合

# systemctl reload nginx

※ restart ではなくreloadで問題ありません。

SSLが正しく更新されたか確認する方法

以下のコマンドで、証明書の有効期限や対象ドメインを確認できます。

# sudo certbot certificates

ここで更新後の日付になっていれば成功です!!!!

まとめ

  • CertbotではSSL証明書を手動で更新できる
  • –force-renewal を使えば30日未満でも強制更新可能
  • 特定ドメインのみの更新も対応可能
  • 更新後は Apache / Nginx の reload を忘れない

SSL更新はトラブルが起きると致命的になりやすいポイントです。
不安を感じたタイミングで、早めに手動更新しておく ことをおすすめします。
同じようにCertbot運用で悩んでいる方の参考になれば幸いです。

Let’s Encryptは無料で導入できるため費用を抑えるためにも導入したいところです。

ドメインはムームードメインを利用しています。

UIも簡易でわかりやすいので、大変気に入ってます。

格安ドメイン取得サービス─ムームードメイン─

それではまた!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次