Plesk で Let’s Encrypt の更新がうまくいかない

Waybiss Hosting(ウェイビス ホスティング)

Plesk で Let’s Encrypt の更新がうまくいかない

Let’s Encrypt 無償で使える SSL サーバ証明書、とても便利ですよね。
今や SSL化 が標準化とされていて、https:// でのサイトアクセスが当たり前です。ちゃんと設定されていないと、ブラウザによっては「危険です!それでもアクセスしますか」的なアラートが表示されるものもあります。

とはいえ都度購入するのも気が進まず、後々ちゃんと購入するにしてもとりあえず無料で使える SSL サーバ証明書はとてもありがたい。

さらに、Plesk なら簡単に設定までしてくれるのでとても助かります。

そんな Let’s Encrypt ですが、今回 Plesk の自動更新がうまくいかずいろいろ悩んだので、同じ事象でお困りの方のためにも記録しておこうと思いました。

結論から言うと Plesk のバグで、最新のバージョン Obsidian 18.0.25 では解消されているようです。
それ以前のバージョンで Let’s Encrypt の更新がうまくいかない方は是非参考にしてみてください。
すでに Plesk Support サイトで公開されているのですが、実際に試してみました。

Plesk サーバから、件名:Could not issue/renew Let`s Encrypt certificates for Administrator というタイトルでメールが届き、SSLの更新がうまくいかなかったことを知らされます。
Plesk にログインし、手動で更新してみたり、設定されている SSL サーバ証明書を削除して設定しなおしたりしたのですが、どれもうまくいかず
Invalid response from https://acme-v02.api.letsencrypt.org/acme/chall-v3/3487212009/750Vzg.
Details: Type: urn:ietf:params:acme:error:unauthorized
Status: 403
Detail: User account ID doesn't match account ID in authorization

というエラーが表示されるばかり。。。

plesk let’s encrypt Detail: User account ID doesn’t match account ID in authorization

という検索ワードでたどり着いたのが、前述の Plesk のサポートサイト。
サポートサイトに書かれているエラー表示もまったく同じです。
解決手段として書かれているのが、SSHでログインして、Let’s Encrypt 関連ファイルを探して削除。その上で Plesk から Let’s Encrypt を再度設定という流れです。

grep -r "(設定時のメールアドレス)" /usr/local/psa/var/modules/letsencrypt/registrations
grep -r "(設定したドメイン名)" /usr/local/psa/var/modules/letsencrypt/orders

それぞれ表示された
/usr/local/psa/var/modules/letsencrypt/registrations/lasfkaf99f7533cc03jb7ddb055c1b92874b.json
/usr/local/psa/var/modules/letsencrypt/orders/lka86g6ga87316b491fb44c346ad829c1b987365b.json
これらのファイルを削除します。

rm -f /usr/local/psa/var/modules/letsencrypt/registrations/lasfkaf99f7533cc03jb7ddb055c1b92874b.json
rm -f /usr/local/psa/var/modules/letsencrypt/orders/lka86g6ga87316b491fb44c346ad829c1b987365b.json

あとは、Plesk から Let’s Encrypt を設定するだけ。