尝试使用 Ansible 部署(Ansible 与问题其实并不相关,只是为了提供全貌)Certbot 配置,以便将通配符证书获取到将进行负载平衡的 Nginx 服务器集群中pacemaker-corosync。
我目前所取得的成就:
- 使用 DNS 插件 (恩索内和甘地)能够在所有 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但我不太确定这能回答我自己的问题。
答案1
如果您在每台主机上更新证书,则每台主机将获得单独的证书。
这种方法的缺点是,如果您的服务器太多,您的速率可能会受到 Let's Encrypt 的限制。
另一种选择是仅在一台主机上运行 Certbot,然后手动将证书分发到其他主机。
最简单的方法是利用 Certbot 后验证钩子。您将创建脚本,该脚本将在证书更新后分发证书并配置/重新启动服务器。
https://certbot.eff.org/docs/using.html#pre-and-post-validation-hooks