さくらのVPSでLet’s Encryptを利用しているがOS再起動したらSSL証明書が先祖返りした(さくらのデフォルトの証明書を参照して起動してきた)のでメモ。
事象
1.OSを再起動したら、WEBサーバーに設定していたさくらのデフォルトの証明書を読み込んで起動してきた。
2.設定を確認するも問題発見できず。直近で証明書関連の設定を変更した記憶もなし。
3.ダメもとでApacheを再起動したら復旧。Lets Encryptの証明書を読み込んで起動してきた。
復旧したものの後味が悪いし、今後再起動の度にApacheだけ再起動するなんて残念過ぎる。
調査開始
OS再起動時の処理がわけわからなかったので切り分けしてみた。
根本原因を調査
皆目見当がつきません(><)
とりあえず暫定対応してみる。
さくらのデフォルトの証明書を読み込まないようにする
なんかうまいこといかなかった。
起動時にApacheを再起動する
色々やり方を考えたけれど、rc.localにApacheの再起動コマンドを突っ込むことで対応。
rootでrc.localに実行権限を付与
chmodでrootに実行権限を付与
chmod 744 /etc/rc.d/rc.local
rc.localの末尾にコマンドを追記
service httpd restart だと、再起動処理が固まって動かなかったので、sleep 30 &&を追加し、無事に起動したことを確認。
vi /etc/rc.d/rc.local
# add 20211201
sleep 30 && service httpd restart
不具合は解消できたものの原因は特定できず
OS起動時のApacheの起動処理と、その後のApache再起動時の処理の違いによる証明書先祖返り現象は特定できず。
再起動時の「デーモン停止」処理時に何か動くのだろうか。
はー、Lets Encryptさんは厄介ですわー。一筋縄では行きませんわー。
ご存じの方いたら教えてほしい。
コメント