让我们为新服务器加密 SSL 证书

And*_*wer 5 ssl lets-encrypt

我的域 example.com 当前指向具有 alphassl 证书的服务器。我想将此域指向我的新服务器(通过更改名称服务器)而没有任何 https 超时。所以我想之前在新服务器上为example.com安装let's encrypt ssl证书。这可能吗?如何?

ham*_*rcm 6

是的,实际上应该很容易完成您的要求。您当然可以从不同的证书颁发机构为同一域颁发不同的 SSL 证书。您还正在启动新服务器这一事实使它变得特别容易。

这是工作流程:

  1. 将您现有的服务器证书和密钥移动到新服务器。
  2. 通过将新服务器的 IP 地址与hosts本地笔记本电脑或台式机上文件中的域相关联并访问该站点来测试新服务器。
  3. 当您准备好切换时,请将您的 DNS 记录指向新服务器。随着新 DNS 记录的传播,一些客户端将开始使用您的新服务器。登录的客户端在第一次连接到新服务器时需要重新进行身份验证,因为它不会从他们到旧服务器的连接中获得他们的会话信息。这应该只发生一次。
  4. 等待足够的时间让 DNS 更改在整个 Internet 中传播。2 天可能是最少的;一个月或更长时间应该确保任何缓存的 DNS 条目在所有客户端上都可能已过期。
  5. 同时,从新服务器上的 Let's Encrypt 为您的域请求新证书。如果可行,请替换新服务器上的现有证书和密钥。
  6. 检查旧服务器的日志以验证它不再用于为客户端请求提供服务。
  7. 取消配置旧服务器。

我建议将 Lets' Encrypt 客户端配置为仅请求新证书,然后自己安装。这样一来,失败的变化就更少了。或者,通过请求可以指向新服务器的子域或第二个域的证书,在新服务器上测试证书颁发和安装过程,然后再投入生产使用。

如果要求客户端重新验证一次确实是不可接受的,那么可能有一种方法可以将会话数据从旧服务器复制到新服务器。这需要进一步研究,并且取决于您的 Web 应用程序如何存储会话信息。

  • @AndiPower 为什么不暂时使用新服务器上的现有证书,然后您可以稍后安装 Let's Encrypt。 (3认同)
  • 您可以请求现有服务器上的证书并将它们转移到新服务器。或者,使用 [letsencrypt.sh](https://github.com/lukas2511/letsencrypt.sh) 之类的工具使用 DNS-01 质询从 Let's Encrypt 请求证书。 (2认同)