nginxのSSL切れてたので慌ててLet's Encryptで更新して、かつ自動化する。


やべぇHTTPS出来てないやん!

久々にマイサーバー弄りをしようと思って、ウェブページを確認したら

ブラウザが「このページを危ないで」って表示されて
無理やりアクセスしようとすると403エラー…

「まさかコレはSSL証明書の期限切れなのでは?」

と思ったのでLet's Encryptで更新処理をしてみます。

SSL証明書の更新処理をする

まずnginxを止める

sudo nginx -s stop

ウェブサーバーを止めないとLet's Encryptの更新処理でエラーがこのように出ます

error: Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping.

Let's Encryptで更新する

まずはcertbot-autoのパスを調べる必要があります。

sudo find -name certbot-auto

と打つとcertbot-autoのパスを吐くので
そのパス(今回は/home/s4kd0r/certbot-auto)を元に

sudo /home/s4kd0r/certbot-auto renew --force-renew

というコマンドを1行流すだけです。

nginxを起動する

停止していたnginxを起動します

sudo nginx

更新作業を自動化する

上記の更新作業をすると証明書が作業日から90日間までの期間で有効になります
が3ヶ月ごとに作業するのも面倒だし、何より今回みたいに「やべっ」って事があるので
cronで自動化します。

* 3 1 * * sudo nginx -s stop;sudo /home/s4kd0r/certbot-auto renew --force-renew;sudo nginx;

毎月1日の3時に更新するようにしました。
力技ですね笑