私の(現在作業中の)証明書を暗号化してみましょう。サブジェクト代替名がたくさん含まれています。ドメインが使用できなくなり、再度検証できないため、証明書を更新するには、これらの1つを削除する必要があります。
Apache構成からServerAliasを削除し、成功したcertbot --verbose --non-interactive delete --cert-name <Domain>
を試しましたが、certbot --renew
はNo valid IP addresses found for <Domain>
で失敗します。
certbot delete
をインタラクティブに使用すると、完全な証明書のみが削除されますが、他のすべてのドメインはまだアクティブであるため、これは私が望むものではありません。
では、Let's Encrypt構成からサブジェクト代替名の1つだけを削除してから、サブジェクト代替名リストが削減された新しい証明書を取得するにはどうすればよいですか?
既存のアカウントでは不可能なため、新しいLet's Encryptアカウントが必要ですか?
反対の質問から答えが見つかりました Let's Encrypt/Certbotによって生成された既存の証明書にドメインを追加する方法は? :一部のドメインをサブジェクト代替名リストから削除する必要があることを明示的に述べることは不可能のようですが、再検証が失敗しているドメインを削除することが可能です。
Apache構成からServerAliasを削除した後(これにより再検証が不可能になります)、
certbot renew --force-renewal --allow-subset-of-names --cert-name
既存の証明書の更新 次のチャレンジの実行: ...(削除するドメインはまだ含まれています) ドメイン<ドメイン> のチャレンジが失敗しましたチャレンジのクリーンアップ 次の課題の実行: ...(ドメインが削除されました) Apacheサーバーのリロードでデプロイされた新しい証明書.。
man certbot
の--allow-subset-of-names
からの引用:
ドメイン検証を実行するときに、要求されたドメインの厳密なサブセットに対して承認を取得できない場合でも、失敗とは見なさないでください。これは、一部のドメインがこのシステムを指していない場合でも、複数のドメインの更新を成功させるのに役立つ場合があります。