Let's encrypt SSL 証明書自動更新
概要
Let’s encrypt SSL は開発環境で本番環境と同等に
https 通信プロトコルを利用したい為に利用しています。
バーチャルホストで複数ドメインを利用している場合等でも
マルチドメイン SSL 証明書が取得でき便利です。
オレオレ SSL 証明書ではブラウザによっては
「このページは保護されていません」
と表示されるケースがあり
非エンジニアの方によっては不信感が募ることもあります。
β 版
β 版時代の Let’s Encrypt SSL 証明書管理スクリプトです。
今回作成した SSL 自動更新スクリプトはこちらではありません。
SSL 自動更新スクリプト
今回作成した Let’s Encrypt 自動更新(Apache)スクリプトです。
更新判定し Slack 通知します。
有効期限が 30 日を切った場合に SSL 証明書を更新し httpd を再起動します。
cron 設定
- 毎月第一土曜日 AM6:00 設定
開発環境なら土曜日に実行気づいて最低でも日曜日には治せる為。
現運用ではこれは功を奏してます。
1 | 00 6 1-7 * * 6 root /root/letsencrypt.sh/refresh_cert.sh |
Slack 通知
強制更新したい場合
2016 年 5 月 07 日より certbot-auto
に名称変更され
certbot-auto による自動更新を以下スクリプトになります。
本番環境以外でクライアント様への確認用等でなければ
こちらを利用しても良いかと思います。
--force-renewal
をオプション指定することで強制的に更新します。
そもそも通知いらないという場合
こちらも certbot-auto
- cron で直接コマンド設定
- 毎月第一土曜日実行
- 一応ログには残しておく
1 | 00 6 1-7 * * 6 root /root/certbot/certbot-auto renew --force-renewal && service httpd graceful > /root/certbot/renewal.log |
以上です。