複数の Nginx で DNS プラグインを実行して同じ証明書を更新する Cerbot

複数の Nginx で DNS プラグインを実行して同じ証明書を更新する Cerbot

Ansible(Ansibleは質問とは関係ありませんが、全体像を示すためのものです)を使用してCertbot構成を展開し、負荷分散されるNginxサーバーのクラスターにワイルドカード証明書を取得しようとしています。ペースメーカー-コロシンク

これまでに達成したこと:

  • DNSプラグインの使用(nsoneそしてガンディ) すべてのNginxサーバーでワイルドカード証明書を取得できるようになりました
  • すべてのNginxは証明書を更新し、シミュレーションを更新するようにsudo certbot renew --dry-runスケジュールされており、正常に実行されます
  • 両方のNginxが稼働しており、Let's Encryptによって配信されたSSL証明書が「表示」されています。
  • 各 Nginx サーバーが SSL 証明書 (ハッシュは異なります) を表示していることに気付きました。Nginx1 の場合は 241a808949dac993ea865a22ec92c3e3952cd6b8、Nginx2 の場合は 82defeb9337d880f8d5380831c6527fb02c50a9b ですが、これは少し心配です。

私の質問は次のとおりです:

  • 各サーバーの証明書が異なる場合、問題が発生しますか、それとも設計によるものですか?
  • スケジュールが開始され、証明書が更新されるときに何か問題はありますか?
  • DNS チャレンジを使用する場合、Certbot を使用する代わりに (各サーバーで) サーバー間で証明書をコピーする必要がありますか?

この答えを見つけましたhttps://serverfault.com/a/907911/606126しかし、これが私自身の疑問に対する答えになっているかどうかはよく分かりません。

答え1

各ホストで証明書を更新すると、各ホストは個別の証明書を取得します。

このアプローチの欠点は、サーバーの数が多すぎると Let's Encrypt によってレート制限を受ける可能性があることです。

もう 1 つのオプションは、Certbot を 1 つのホストでのみ実行し、他のホストに証明書を手動で配布することです。

最も簡単な方法は、Certbot の検証後フックを利用することです。証明書を更新した後、証明書を配布し、サーバーを構成/再起動するスクリプトを作成します。

https://certbot.eff.org/docs/using.html#事前検証および事後検証フック

関連情報