Mattermost の SSL 証明書の更新を Certbot タイマーで行う2

環境:WebARENA Indigo Linux 1GB(Ubuntu 22.04)

以前、Mattermost の SSL 証明書の更新を Certbot タイマーで行うことについて書いた。

早速更新期間になったので確認してみたら、更新されていない。

ブラウザの証明書情報を見ても有効期限が延長されていない。

証明書の情報をコマンドで確認しても有効期限が延長されていない。

$ sudo certbot certificates

certbot.timer のステータスはちゃんと Active になっている。

$ sudo systemctl status certbot.timer

タイマーが設定されているか確認してもちゃんと毎日動いている。

$ sudo systemctl list-timers

dry-run を実行してもちゃんと成功する。

$ sudo certbot renew --dry-run

仕方がないのでとりあえず手動で更新してみる。

$ sudo certbot renew

以下のコマンドで確認してもちゃんと有効期限が延長された。ブラウザで確認しても延長されていた。

$ sudo certbot certificates

Let's Encrypt の更新時に Nginx を再起動することと関係しているのかと思ったが、設定ファイルを見てもちゃんと再起動するようになっている。理由はよく分からない。

原因が分かるまでは伝統的な cron による更新を行うことにしよう。

(1)cron で試しに dry-run を実行してみる。

$ sudo crontab -e

以下のように記入し、テスト実行。

15 13 * * * sudo certbot renew --dry-run > /tmp/test_dry.log 2>&1

/tmp/test_dry.log に certbot の実行ログが出力されていることを確認する。

(2)cron に登録。

$ sudo crontab -e

以下のように記入。毎週月曜 1:00 に実行するようにしてみた。Nginx の再起動もするようにしている。

0 1 * * 1 sudo certbot renew && sudo systemctl restart nginx

これでうまくいくか、次回の更新時に確認してみよう。

参考:
【簡単】Let’s Encryptの自動更新をcronなしで実現しよう | TACK-WEB
https://tackweb.net/index.php/2020/09/21/auto_renew_ssl/

cronがうまく動作しているかチェックするためのログ調査方法について | Hodalog
https://hodalog.com/how-to-inspect-cron-logs/


この記事が気に入ったらサポートをしてみませんか?