LoginSignup
5
1

More than 3 years have passed since last update.

無料SSL証明書 Let's Encryptの更新をcronで自動化する

Posted at

実現したいこと

  • lets encryptのSSL証明書の更新を自動化する

独自ドメインのサイトをhttps化したのですが、3ヶ月で期限が切れてしまうようです。
手動で更新していると忘れることがあるので、早めに自動更新するように変更します。
その手順をシェアというかメモというか記事にしたいと思います。
cronを使ってやるのでcronの書き方もまとめました。

作業環境

  • OS
    • CentOS7
  • webサーバー
    • Nginx
  • SSL
    • Let's Encrypt

参考サイト

手順

  1. certbotのページへアクセスする
  2. cronへ登録する

1. certbotのページへアクセスする

certbotのページ下部にある
8.Test automatic renewalに書いてあるコマンドを実行します。

sudo certbot renew --dry-run

補足説明

  • --dry-run:「更新」または「証明書のみ」をテスト実行。証明書をディスクに保存しない

certbot(Letsecnrypt)コマンド・オプションを真面目に理解するより抜粋

コマンドを実行して成功になれば更新はできるので、cronに登録していきます。

成功時のターミナル.
Congratulations, all simulated renewals succeeded: 
  /etc/letsencrypt/live/your_domain_name.com/fullchain.pem (success)

2. cronへ登録する

cronとは定期的に実行したいコマンドなどを登録することで、自動実行してくれる便利なものです。
lets encryptの証明書は3ヶ月ごとに更新が必要なため3ヶ月ごとに自動実行するよう設定していきます。

0 0 1 */3 * certbot renew
#3ヶ月ごと、1日0時0分にcertbot renewコマンドを自動実行します
#3月1日0時0分 6月1日0時0分 9月1日0時0分

cron書き方

* * * * * [実行コマンド]となっており、左の*から分、時、日、月、曜日となっています
*は全ての時間を設定したことになります。
もし* * * * * [実行コマンド]を登録すると毎分コマンドが実行されることになります。
定期的に実行したい場合は*/[間隔]としてください。

0 0 1 */3 * certbot renewこのコマンドでは、
分→0
時→0
日→1
月→3ヶ月ごと
曜日→月〜日(1~7)の全て
certbot renewを実行する
となります。

参考サイト

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1