letsencryptの証明書自動更新(cron)とちょっとだけSlack連携

letsencryptの証明書自動更新(cron)とちょっとだけSlack連携 

やること

letsencryptの証明書を自動更新させるのを長らく忘れていたのでshellとcronで設定します。

やらないこと

  • letsencryptのインストール・・・pythonエラーがちょっと面倒だった記憶が。。。
  • letsencryptのオブションの説明・・・色々あるので。。。

環境

  • さくらvps
  • CentOS6系
  • letsencrypt

ShellScript

shellをかきます。 shellの保存場所は適宜設けてください。

/letencrypt-autoまでのパスは適宜指定。 オプションについて同様です。(これが結構面倒な気がします。。。)

cron登録

crontab -eでcron登録します。

注意:証明書の発行数制限

cronの実行確認のテストで証明書更新しまくっていたら、「更新リクエスト多すぎやめちくり〜」というエラーがでました。

Let's Encrypt - Rate Limits

「制限に引っかかったら月曜日まで待たないといけないようです。

週に20個の証明書までOKだそうなので、それを超えないようにテストしましょう。

crontabでちょっと気になった記事

crontab -eは「絶対に」使ってはいけない

所感

更新には時間がかからないようですが、nginxを一度停止する必要があるのでサービス環境によってその辺り考慮する必要はある気がします。 作成したshellにSlack APIたたいて更新通知投げるのもいいと思いました。 ただエラーをどうやってキャッチすればいいかわからないです_| ̄|○

あった→Let's Encryptで自動更新したらSlackに通知したかった

普通にif文でかけばいいみたいです。

というわけでやっつけでshellをつくりました。 更新完了か失敗か通知を送るだけです。更新日時等の出力はしません。

letsencrypt.sh

所感

letsencryptありがたや

参考