サーバー証明書の更新

脱オレオレ証明書

2/28の夜、突然iPhoneがエラーメッセージを吐いてきた。
うちのサーバーが安全じゃないと?
なんだそりゃとよくよくみてみたら、うちのサーバー証明書の有効期限がちょうど切れてました。

この証明書、有効期間が2年以内じゃないとブラウザが信用してくれなくなっていて、去年はさらに1年に短くなっていました。
例外としてオレオレ証明書はまだ1年縛りではないですが、世の中の流れとして証明書の有効期間は短くなる一方のようです。
どうせ短くなるならわざわざルートCA証明書をクライアントに入れないといけないオレオレ証明書ではなく、普通のサーバー証明書にしてみようかと、Let’s Encryptの導入にチャレンジしてみました。
この証明書は有効期間が90日しかありませんが、無料ですし文句は言えません。

最初、macOS Serverでやろうとして、certbotをインストールしたら、恐ろしく時間がかかった上にOSが古いとエラーになっちゃってインストール失敗。
クライアントMacでやるのも余計なツール入れて重くなるのが嫌だったので、例によってParallelsで動くUbuntu20で作ってみたら時間もかからずすんなり出来上がりました。
できた証明書をサーバーのMacに持っていき、ServerAppで読み込んでサービスに適用。
うまいこと反映できてエラーも消えました。

これでオレオレ証明書ではなくなったので、(ブラウザで変なエラー吐かなくなったはずなので)アクセス数増えるでしょうか。。
(最近更新してないのでそれはないな。。)