certbotで取得した証明書を失効させたい話
超久しぶりの更新。
ご無沙汰しております。
以前作ったwebアプリ用に取得したドメインだが、いつまでも持っていてもランニングコストが地味にかかるのでそろそろ返却しようかと思っているところから今回の話のスタート。
それに先立ち今certbotで自動更新が行われているSSH証明書の取得を止めて証明書を失効させるところから始めてみた。
ドキュメントによると、証明書を失効させたい場合は
certbot revoke
を実行すればいいらしい。
eff-certbot.readthedocs.io こんな感じで
Would you like to delete the certificate(s) you just revoked, along with all earlier and later versions of the certificate? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es (recommended)/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The following certificate(s) are selected for deletion: * umamusume-database.net WARNING: Before continuing, ensure that the listed certificates are not being used by any installed server software (e.g. Apache, nginx, mail servers). Deleting a certificate that is still being used will cause the server software to stop working. See https://certbot.org/deleting-certs for information on deleting certificates safely. Are you sure you want to delete the above certificate(s)?
証明書を失効させて消すのか?と聞かれるので実行後、
certbot certificates
で証明書を確認すると先ほど削除した証明書の記載が無くなっていることが確認できた。
このコマンドを実行してもApacheのHTTPSに関する設定は消してくれないので、こちらは設定ファイルを書き直す必要がある。書き直さないとApacheを再起動したときにエラーが出て動かない。
confファイルがどこにあったか忘れていてちょっと困ったが、/etc/apache2/sites-enabled/に存在した。
SSL用の設定ファイルと思われるumamusume_database_django-le-ssl.confをリネームして読み込めなくした後、umamusume_database_django.confのVirtualHostとServerNameの記述をコメントアウトすると、Apacheの再起動が通るようになった。
しかしながらwebアプリにchromeから接続しようとすると「このサイトは安全に接続できません ERR_SSL_PROTOCOL_ERROR」と表示が出て接続できない。
umamusume_database_django.confを見直してみると、URLのRewriteRuleが設定されていて、アクセスを全てHTTPSでの接続に書き換えるようになっていた。昔そういえばそんなことを確認した記憶があるが、ここに書かれていたのは初めて知った。
RewriteRule部分をコメントアウトし、Apacheを再起動したところ無事HTTPで接続が可能になった。
後は返却したいタイミングでドメインを返却し、Lightsailのカスタムドメインを削除すればOKなはず。
また気が向いたら返却まで済ませようということで短いけど今回はここまで。