Let's Encrypt の自動更新について
Let's Encryptの公式では、証明書の有効期限の60日前から更新を試みるという事を推奨している。
どうやら自動更新は失敗する事もあるらしく、毎月1日の試行だと、失敗した時に速やかに再試行する事が出来ず、再試行が30日後となってしまうため、安全に運用するにはもっと感覚を詰める必要がある。
今回あはとりえず、更新に失敗し、証明書を切らしてしまったので、ひとまず手動で更新。
Let's Encryptの証明書を手動で更新する
手動で更新
nginxの再起動
復旧確認後、自動更新の設定を変更。
自動更新の設定を変更する
/etc/cron.d/のディレクトリへ移動
letsencrypt-renewファイルを編集
[ファイルの中身]
設定内容は以下
- 2日ごとの0時にcertbot renewコマンドが実行される
- 証明書の更新が必要な場合は、最初にNginxを停止し
- 次に証明書の更新処理が行われ
- 最後にNginxが再起動される
これなら、60日以内になったときに更新が試行されるので、証明書の有効期限切れを防げるだろう。
cronデーモンの再起動
有効期間の確認
更新されてればOK。
/var/www/htmlディレクトリがない場合
Misskeyを設置しているシンVPSにはなぜか/var/www/htmlディレクトリがなかったため、自動更新も手動更新もできなかった。
/var/www/htmlディレクトリを作成
nginxがアクセスできるように、ディレクトリの所有者とパーミッションを設定
念のため、設定ファイルが正しいか確認
エラーがなければ、Nginxを再起動
Certbotを使用して証明書を手動で更新
/etc/cron.d/letsencrypt-renew の更新間隔を以下に変更
cronデーモンの再起動
nginxを再起動
有効期間の確認
更新されてればOK。
certbotのパスをフルパスにする