あるノードから別のノードに証明書を手動でコピーする必要なく、マルチサーバー設定にcertbotおよびLetsEncrypt証明書を使用する方法はありますか?
私のドメイン名はexample.com
、米国では192.0.2.1、アジアでは192.0.2.2と解決されています。
米国サーバーでcertbotを実行しましたが、証明書が正常に作成されました。 certbot はドメインを 192.0.2.1 としてのみ確認できるため、アジア サーバーで同じコマンドを実行することはできません。
そのため、アジアサーバーの証明書をインストールするには、192.0.2.1から192.0.2.2にコピーする必要がありました。
はい、コピープロセスをスクリプトで書くことができますが、私の考えではあまり良い考えではないようです。別の方法がありますか?
答え1
最後にソリューションを使用しました。ここで説明。
簡単に言うと:
- 証明書を生成するための単一ノードの使用
- nginxプロキシを使用して、ステップ1のすべてのフロントエンドからノードに/.well-known/を渡します。
- すべてのフロントエンドサーバーにスクリプト証明書をコピーする
答え2
問題は、検証がどこで実行されるのかわからないことです。
2つの一般的な解決策があります。
- サーバー間で証明書+キーをコピーします。
- 一時的にドメインをある場所に確認し、そこから証明書を発行し、別の場所に確認し、そこで証明書を発行し、最後に再分割スカイラインに切り替えます。証明書を更新したい場合でも、この操作を繰り返す必要があります。
解決策2は、証明書+キーをコピーするよりも悪いです。
LetsEncryptの前にこの問題を解決する方法を検討してください。
- どこか(管理ワークステーションまたはサーバー)からキーとCSRを生成します。
- CAにCSRを提出
- CAから証明書を取得する
- 鍵と証明書を両方のサーバーにプッシュします。
この観点からは、あるサーバーから別のサーバーにキー/証明書をプッシュするのはそれほど悪くありません。
これは以前に紹介されました: https://community.letsencrypt.org/t/will-lets-encrypt-work-for-me-multiple-servers-serving-one-domain/6830/7