在多个 Nginx 上运行带有 DNS 插件的 Cerbot 来更新同一份证书

在多个 Nginx 上运行带有 DNS 插件的 Cerbot 来更新同一份证书

尝试使用 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

相关内容