このブログはVPSで運用しています。
つまりサーバのメンテナンスはOSからアプリケーションまですべて自分でしなければならないのですが、ブログのSSLの更新に失敗していました。
SSL証明書の運用方法
SSL化についてはブログが稼働してから実施するのは面倒くさそうだったので、最初からSSL化しています。
SSL化するにあたって無料のlet’s encryptを使っているのですが、更新間隔が3ヶ月と短いのが特徴です。
3ヶ月毎に手動で更新するのは面倒なので、cronを使って自動で更新するようにしていました。
cronへ登録していたコマンドはこんな感じですね。
cerbot renew
3ヶ月前に自動更新できているのを確認したので安心していたのですが、今回は自動更新できていませんでした。
昨日の晩まで普通にアクセスできていたのに今朝アクセスするとブラウザのアドレス欄に保護されていませんの文字が・・・
Googleアナリティクスを見てみると明らかにアクセス数が減少している。
更にGoogle検索の結果を見るとブログへ投稿した記事の件名が修正前のものだったりする・・・
このブログは殆どが検索流入でアクセスされています。
そんなわけでこのままほっといたらGoogle様のお怒りに触れ開設時の誰も来ないブログになってしまうかもしれんと思いあわてて対策しました。
SSL証明書を手動で更新
とりあえずcronに登録しているコマンドを手動で実行してみました。
The following certs are not due for renewal yet:
・・・
No renewals were attempted.
うーん、怒られた。
3ヶ月前は問題なかったのに。
仕方ないので–force-renewalオプションを付けて再実行してみました。
new certificate deployed without reload, fullchain is
/path/to/fullchain.pem
Congratulations, all renewals succeeded. The following certs have been renewed:
/path/to/fullchain.pem (success)
Webサーバを手動で再起動したところ正常にSSL化された状態でブログへアクセスすることが出来ました。
本来の手順
上記は慌てていたので、SSLの状態を確認せずに実行しましたが、どうやら更新はできていたようです。
単にWebサーバを再起動しなかったので反映できていなかったようです。
そういや、ここ数ヶ月再起動が必要な作業ってしていなかったな。
まとめ
VPSはレンタルサーバより自由度が高いのがメリットですが、その分トラブルが発生した時は自分で対処する必要があります。
今回はたまたますぐに気が付きましたが、最近ブログの更新頻度も落ちてきているのでもし気づかなかったと思うと恐ろしいと思いました。
不正アクセスのチェックは毎日していますが、設定したものが正しく動作するかのチェックについては甘かったですね。
単にオプションの設定に不備があるだけでWebサーバを再起動しなくても更新できると思いますので次回の更新までに確認しておきたいと思います。