Let's Encryptでのサーバ証明書が有効期限切れ

本日は、サーバー関係の話である。
3カ月前にCertbotで無料のサーバー証明書を手に入れた。

Let's Encryptで発行される証明書は有効期間が3カ月と短い。
なので、3カ月経過したら更新をやらないといけない。
自動で更新がかかるようにcronをしこんでおいたのだが、なんか失敗したようでアクセスできなくなっていることに気付いた。
えー、おかしいなぁ...
とブツブツ言いながら、端末を開いてcertbotコマンドで手動更新してみると、やっぱりエラー。
nginxの設定で「server_name _;」となっていて、_はダメと言っているようであった。

server_name ドメイン名;

のようにしてやると、certbotコマンドでの更新はうまくいった。
これでnginxを再起動すればOKでしょう。
と思ったのだが、やっぱりアクセスできず。
キャッシュとかが残っているのか?と思って、しばらく経ってからアクセスしてみたがやっぱりダメ。
おかしいなぁ。確かに、/etc/letsencript/archiveにはcert2.pemやらprivkey2.pemができているので更新はされていると思うのだが...
nginxの設定ファイルをもう一度見てみると...

ssl_certficate "/etc/letsencript/archive/xxxx/cert1.pem"

となっている。
更新して新しくできたのが、cert2.pem。設定ファイルはcert1.pemとなっている。
これじゃあダメじゃん。
/etc/letsencript/archive には過去のを含めてアーカイブされるっていうことだな。最新のやつは、/etc/letsencript/liveの方にシンボリックリンクで作成されるのか。
ああ、そういうしくみになっているのね。

ssl_certficate "/etc/letsencript/live/xxxx/cert.pem"

に変更したらうまくいった。汗

投稿者プロフィール

asai
asai