はじめに
ポートフォリオを公開し、CertbotでSSL化にしたのですがその際にcronを設定したのが(毎月1日の1時に期限を更新し、nginxを再起動する処理)が起動せずに、証明書期限切れになりポートフォリオが閲覧できない事案がありました。
結論から
Certbotの更新で解決しました。
以下の対応で正常に表示されるようになりました。
$ sudo certbot renew #更新
または
$ sudo certbot --force-renew #強制更新
上記の対応でCongratulations(更新成功)とログが出力されるかと思います。
表示されなかったら、よくあるパターンとしてCertbotのバージョンが古い場合にエラーが出たりします。その場合はCertbotを最新にアップデートしてから叩くと上手くいったりします。
あとは、Certbotのログを元に原因を探ってみるといいかも知れません。
うまくいっても、そのままでは502 bad gatewayの表示画面になるので以下のコマンドで再起動。
$ sudo systemctl restart nginx #nginx再起動
$ rails s -e production #アプリケーションサーバー起動(Puma)
以上の対応で無事に表示されるようになりました。
ですが、cronが自動更新しなかった原因まではわからなかったのでもう少し調べてみようと思います。