Certbot 失败。在将替换现有生产服务器的新服务器上启用 Let's Encrypt certbot

Tur*_*rgs 5 domain-name-system ssl lets-encrypt

我有一个带有 SSL 证书的 nginx Web 服务器,由 Let's Encrypt 提供,使用 Certbot。例如,此站点可在https://example.com 上公开访问

新服务器
我正在创建一个新服务器,一旦一切设置和部署正确,它将替换现有服务器。

我希望它在设置时可以在https://beta.example.com上使用,然后在获得批准后在https://example.com 上使用

https://beta.example.com现在可以使用了,因为没有其他服务器为该子域的站点提供服务,但是 example.com 仅在我最终更新 DNS 记录时才有效。

我显然需要现有的 Web 服务器在新服务器准备就绪之前继续运行而不会受到影响。

如何为新服务器创建 SSL 证书以准备最终接管?

验证域的问题
当我运行 certbot 时,它尝试访问https://example.com作为验证的一部分,但是它失败了,因为该域指向现有服务器的 IP 地址。

授权程序失败。example.com (tls-sni-01): urn:acme:error:tls :: 服务器在域验证过程中遇到 TLS 错误 :: 远程错误:tls: 握手失败

重要说明:
- 服务器报告了以下错误:

域:example.com
类型:tls
详细信息:远程错误:tls:握手失败

要修复这些错误,请确保您的域名输入正确,并且该域的 DNS A/AAAA 记录包含正确的 IP 地址。此外,请检查您是否拥有允许服务器与 Certbot 客户端通信的最新 TLS 配置。

鉴于我正在尝试做的事情,是否有适当的流程来解决这个问题?

Nik*_*nov 8

尝试使用反向代理。在拥有 example.com 的旧服务器上创建两个虚拟主机,并直接将 beta.example.com 放在那里。带有 beta.examply.com 的虚拟主机应该通过 HTTP 去除对实际服务器的 HTTPS 和反向代理请求。两个虚拟主机将使用相同的证书。所有 Letsencrypt stull 现在都将在旧服务器上。

准备好后,将证书复制到新服务器,更新 DNS 并等待它稳定(至少在 DNS TTL 秒内)。当您看到所有请求都到达新服务器时,您可以反转事物或只是移动 Letsencrypt 内容并完全移动到新服务器。