
我正在嘗試使用 Ansible(Ansible 與問題並不真正相關,但只是為了提供整體情況)部署 Certbot 配置,以便將通配符證書獲取到將進行負載平衡的 Nginx 伺服器集群起搏器-corosync。
到目前為止我所取得的成就:
- 使用 DNS 插件(恩索內和甘地)我能夠在我的所有 Nginx 伺服器上取得我的通配符證書
- 我所有的 Nginx 都計劃更新憑證並更新模擬,
sudo certbot renew --dry-run
運作良好 - 兩個 Nginx 都已啟動並正在運行,並且它們正在「顯示」由 let's encrypt 提供的 SSL 證書
- 我注意到每個Nginx伺服器都顯示它在SSL憑證上(它們的雜湊值不同),241a808949dac993ea865a22ec92c3e3952cd6b8 Nginx1和82def9337d880f8d5380831c657bginagincginabgin。
我的問題是:
- 如果每台伺服器上的憑證不同或是設計使然,是否會出現問題?
- 當時間表開始並更新我的憑證時,我會遇到任何問題嗎?
- 使用 DNS 質詢我是否仍然需要在伺服器之間複製證書,而不是像現在一樣使用 Certbot(在每台伺服器上)
我找到了這個答案https://serverfault.com/a/907911/606126但我不太確定這回答了我自己的問題。
答案1
如果您在每台主機上續訂證書,則每台主機都將獲得單獨的證書。
這種方法的缺點是,如果伺服器太多,Let's Encrypt 可能會限制速率。
另一個選項是僅在一台主機上執行 Certbot,然後手動將憑證分發到其他主機。
最簡單的方法是利用 Certbot 後驗證掛鉤。您將建立腳本,該腳本將在更新憑證後分發憑證並配置/重新啟動伺服器。
https://certbot.eff.org/docs/using.html#pre-and-post-validation-hooks