SSL証明書では、Lets’s Encryptの証明書を利用しているのですが、期限が3ヶ月なので、ちょっと油断していると証明書切れになります。
事前に、証明書を更新する通知も来るのですが、後回しにしていたら、期限が切れてしまいましたので、再作成しました。
再作成なので、certbot-auto renewすればいいんじゃね?
しかし、renewだけじゃ、証明書が期限切れのままでダメでした。
なので、結局、振り出しに戻って一から再作成することにしました。
Contents
<li>
<a href="#i-5"><span class="toc_number toc_depth_1">2</span> メンテナンス</a><ul>
<li>
<a href="#i-6"><span class="toc_number toc_depth_2">2.1</span> 更新</a>
</li>
<li>
<a href="#i-7"><span class="toc_number toc_depth_2">2.2</span> 全ての証明書を強制更新</a>
</li>
<li>
<a href="#i-8"><span class="toc_number toc_depth_2">2.3</span> 自動更新</a>
</li>
</ul>
</li>
Let’s Encrypt 証明書再作成
ウェブサーバー停止
まずは、80番ポートを利用しているウェブサーバーを停止
私の場合はnginxなので、
# service nginx stop
古い証明書関連ファイルやディレクトリを削除
下記に古いファイルやディレクトリが保存されているので、該当するドメインを削除します
- /etc/letsencrypt/live/
- /etc/letsencrypt/archive/
- /etc/letsencrypt/renewal/
証明書新規作成
私の環境では、/var/opt/letsencrypt/に格納されているので、
# cd /var/opt/letsencrypt/ # ./certbot-auto certonly --standalone -d foo.bar.com
複数ドメインがある場合 -d オプション後に続けて明記するような記事もあるのですが、上手くいかなかったので、複数ある場合でも一つずつ行う必要がありました。
ウェブサーバー起動
# service nginx start
ここまでで証明書再作成作業は終了です。
メンテナンス
更新
期限まで30日未満のものを更新
# ./certbot-auto renew
全ての証明書を強制更新
# ./certbot-auto renew —force-renew
自動更新
更新切れを気にする必要がないように、cronで自動更新した方が楽です
毎月の1日に更新するように設定
# cd /etc/cron.d # vi letsencrypt 0 0 1 * * root /var/opt/letsencrypt/certbot-auto renew --post-hook "service nginx restart"