Let’s Encryptで自動更新をするメモ
2016/12/30 公開
Let’s Encryptで証明書を取得しているNginxベースのサイトで、証明書を自動更新する設定をしたときのメモをしておきます。(CentOS6環境)
CentOS7系でも--post-hookを調整すれば使えるはずです。
crontabで自動更新する設定
ルート権限で/etc/crontabを開きます。
# vi /etc/crontab
次のように更新するための行を追加します。
<更新タイミング> root <certbot-autoのパス> renew --post-hook “service nginx restart” [>/dev/null 2>&1]
例えば毎週月曜日の4:00に更新する場合は次のようになります。
0 4 * * 1 root /usr/bin/certbot/certbot-auto renew --post-hook “service nginx restart” >/dev/null 2>&1
この方法であれば、更新を試みた後に自動的にnginxを再起動するため、証明書が更新されればそれが自動的に適用されます。
最後の[]部分はログに残さず捨てるための設定です。(ログに残さないこのような書き方を推奨しないという話もありますが…)
なお、この例ではcertbot-autoのrenewでは登録時の設定で更新を行うため、登録時に --webrootでドキュメントルートを指定しておく必要があります。(--standaloneオプションは使用しない)