为 Digital Ocean 上的负载平衡 nginx 服务器生成或更新 letsencrypt certbot 证书

为 Digital Ocean 上的负载平衡 nginx 服务器生成或更新 letsencrypt certbot 证书

有人知道怎么做吗? 是否有可能。

我关注了Digital Ocean 教程虽然它可以工作,但是缺少如何在具有多个领域和多个应用程序的实际场景中应用它的信息。

我知道如何使用 certbot 生成和更新证书。但当 IP 地址经过负载均衡器时,这两种方法都不起作用。

将负载均衡器上的每一个 IP 地址都更改为 nginx 服务器,然后续订并将大量 IP 地址更改回负载均衡器并复制粘贴证书内容似乎不太实际。有没有更好的解决方案?

编辑。无需更改 IP 地址,只需从负载均衡器中分离除一个 nginx 服务器之外的所有服务器,然后在此 droplet 上续订即可。但是,certbot 必须是最新版本。使用 2016 年安装的 certbot 时,此方法无效。

附加问题。将其他 nginx 服务器重新连接到负载均衡器后,必须手动复制证书。

将证书附加到负载均衡器本身也是一项手动任务,并且只能有一个证书将 443 转发到 80。

答案1

正如@ceejayoz 指出的那样

这种情况就是 Let's Encrypt 支持基于 DNS 的质询/身份验证的原因

您应该使用 的 DNS 功能certbot。这将要求您向 DNS 记录添加新的 TXT 记录,然后certbot根据该记录进行验证。这样就无需向负载平衡的机器发送 HTTP 请求。

或者,您可以在所有 LB 系统上设置相同的质询,这样无论客户端检查哪个主机,它都会得到质询。如果您使用的是do模式,certbot这显然行不通。certbotstandalone

相关内容