2020年7月9日木曜日

Let’s Encryptでhttps化の残日数をメールする

event_note7月 09, 2020 editBy shamu_shamu forumNo comments

現在動いているこのサイト(旧ワードプレスサイトです)をhttps化して1か月?程経過しましたが、90日経つと証明書の有効期限が切れちゃうので忘れない内にメモしておきます。


参考にさせて貰ったURL
<a href="https://programmingnavi.com/105/" rel="noopener noreferrer" target="_blank">https://programmingnavi.com/105/</a>

導入方法は色々webをさまよって入れましたがちょっと思い出せないので省略します。
問題は90日経つと有効期限が切れる証明書ですが、残り日数をメール、更新を自動化みたいな感じでやってみたいと思います。

※メールは送信できる設定が済んでいる事が前提です。
証明書の残り日数を確認するコマンドをテキストファイルに保存しメールを送信するシェルスクリプトを作ります。

<code>#!/bin/sh
remaining=`certbot certificates`
echo "$remaining" > /usr/local/bin/letsencrypt.txt
mail -s "オレオレ証明書の残日数を送信" 受信したいメールアドレス@ほにゃらら < /usr/local/bin/letsencrypt.txt</code>


上記のスクリプトが作成出来たら実行権限を与えてcronに追加しておきます。

sudo vi /etc/crontab

cronを開けたら下記を追記します。

55 11 *  *  * root /usr/bin/certbot renew
00 12 * * * root /usr/local/bin/letsencrypt_remaining

上のコマンドが毎日11時55分に証明書を更新するコマンド(残り日数が30日切らないと更新されない)
下のコマンドが毎日12時00分に残り日数をメールでお知らせするといった感じにしました。

最後に残日数を一旦保存するテキストファイルを作成します。
上記のシェルスクリプトの場合だと

/usr/local/bin/letsencrypt.txt

の場所に空ファイルを作りました。ここは好みの場所でOKだと思うけどその場合はスクリプトの場所も変更します。


更新日数がまだ30日切っていないので更新されるか不明ですが、メールは問題なく受信でき残日数が分かるので駄目だったら手動で更新してみます。

0 comments:

コメントを投稿

お気軽にコメント下さい