Let’s Encrypt SSL 証明書を更新する

大船観音 AWS
大船観音

さて今回は、Lightsailで立てたWebサイトにおいてLet’s Encrypt SSL 証明書を更新する話です。

発端

LightsailでWebサイトを立て、https化も成功してしばらく運用していたのだが、ある日急に https がよろしくない的なエラーが出るようになったので解決した話。

しかし、そもそもありがたくて後光が差す Bitmani製のLightsailインスタンスにより Let’s Encrypt SSL 証明書は失効前に自動的に更新されるはずなのだが、これはどうしたことか。想定外の事態です。

エラー画面

ブラウザによっていろいろでしょうが大体次の様な画面です。

この接続ではプライバシーが保護されません
この接続ではプライバシーが保護されません
安全な接続ができませんでした
安全な接続ができませんでした

原因となる話

ここにわかりやすく書いてありました。

どうやらこの 1% 以下の確率にぶち当たってしまったようです。

さらに情報収集

原因と解決がすっきりまとまっているのはこれかな。

GitHub - bitnami/vms: Bitnami VMs
Bitnami VMs. Contribute to bitnami/vms development by creating an account on GitHub.
You will need to manually revode the certificates and generate new ones later
You will need to manually revode the certificates and generate new ones later

手動で前の証明書を削除し、あらためて証明書を作成する必要があるんだと。

作業してみました

それに沿って作業をしたがどうもうまくいかない。さらに下部のやりとりを見ると、どうやら certificates フォルダー下のファイルを削除し Bitnami HTTPS 設定ツールを再度実行する必要があるらしい。

おや、それでもうまくいかない。

実は certificates フォルダー下のファイルを削除せず tmp にバックアップをとっておいた。それが役立った。バックアップをとっておいてよかった。

バックアップをとる部分からの流れ

certificatesフォルダをフォルダごとバックアップしておいてからファイル群を削除する。

certificatesをバックアップした後ファイル群を削除

bncert-tool を実行し証明書を作成しようとすると怒られる。

bncert-toolを実行すると怒られる

バックアップから certificates ファイル群を戻す。

バックアップからcertificatesファイル群を戻す

bncert-toolを実行すると最新版をダウンロードするよう促されるので Yes。その後また bncert-tool を実行。ようやくあたらしい設定を始めることができる。

bncert-toolを最新版にし設定を開始

質問にどんどん答えていきます。この辺は Lightsail 導入時に経験したこと。

リダイレクト方法などに答える
メールアドレスなどを答えるとSuccess表示
バックアップファイルやログファイルが表示されて終了

参考までに

AWSが提示するSSL更新方法はこちらです。いつか役に立つかも。

https://aws.amazon.com/jp/premiumsupport/knowledge-center/lightsail-bitnami-renew-ssl-certificate/

「Lightsail インスタンスでホストされている Bitnami スタックで Let’s Encrypt SSL 証明書を更新するにはどうすればよいですか?」うむ、そのものずばりですね。

この中でも分岐がありますが、私の場合 「bncert-tool 使用」が該当。

最後に

1月末ごろ、letsencrypt.org から TLS-ALPN-01によるエラーが発生する恐れがあるので TLS認証をすぐに更新すべしというメールが来ていました。完全に見落としていました。理由:日本語じゃないから。

メールをよく確認していれば慌てふためくこともどぎまぎすることもなかったかもしれないというお話。

余談

ふー、これでようやく開けっぱなしになっていたブラウザタグを閉じることができるぜ。

スポンサーリンク

コメント

タイトルとURLをコピーしました