Nginx
Cerbot 與 DNS 外掛在多個 Nginx 上執行以更新相同的證書
我正在嘗試使用 Ansible 進行部署(Ansible 與該問題並不真正相關,而只是為了給出整體情況)Certbot 配置,以便將萬用字元證書獲取到將是負載平衡的 Pacemaker-corosync的 Nginx 伺服器集群。
到目前為止我所取得的成就:
- 使用 DNS 外掛(nsone和gandi)能夠在我的所有 Nginx 伺服器上獲取我的萬用字元證書
- 我所有的 Nginx 都計劃更新證書並更新
sudo certbot renew --dry-run
執行良好的模擬- 兩個 Nginx 都已啟動並正在執行,它們正在“顯示”由 let’s encrypt 提供的 SSL 證書
- 我注意到每個 Nginx 伺服器都顯示它在 SSL 證書上(它們的雜湊值不同)、241a808949dac993ea865a22ec92c3e3952cd6b8 Nginx1 和 82defeb9337d880f8d5380831c6527fb02c50a9b 用於 Nginx2,這讓我有點擔心。
我的問題是:
- 如果每台伺服器上的證書不同還是設計使然,是否存在問題?
- 當計劃開始並更新我的證書時,我會有什麼問題嗎?
- 使用 DNS 質詢,我是否仍需要在伺服器之間複製證書,而不是像現在一樣使用 Certbot(在每台伺服器上)
我找到了這個答案https://serverfault.com/a/907911/606126但我不太確定這能回答我自己的問題。
如果您在每台主機上更新證書,每個主機都會獲得單獨的證書。
這種方法的缺點是,如果您有太多伺服器,您可能會受到 Let’s Encrypt 的速率限制。
另一種選擇是僅在一個主機上執行 Certbot,然後手動將證書分發到其他主機。
最簡單的方法是利用 Certbot 後驗證掛鉤。您將創建腳本,該腳本將在證書更新後分發證書並配置/重新啟動您的伺服器。
https://certbot.eff.org/docs/using.html#pre-and-post-validation-hooks