![将具有 SSL 证书的网站从一台 IIS 服务器迁移到另一台,无需停机](https://linux22.com/image/519232/%E5%B0%86%E5%85%B7%E6%9C%89%20SSL%20%E8%AF%81%E4%B9%A6%E7%9A%84%E7%BD%91%E7%AB%99%E4%BB%8E%E4%B8%80%E5%8F%B0%20IIS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%EF%BC%8C%E6%97%A0%E9%9C%80%E5%81%9C%E6%9C%BA.png)
我们正在将一些网站从较旧的 Windows Server 2003 / IIS 6 服务器迁移到较新的 Windows Server 2008 / IIS 7 服务器。我们必须在不造成大量停机的情况下迁移这些网站。
这些网站都与 SQL Server 和/或 MySQL 数据库通信。它们还分配有 SSL 证书(它们是电子商务网站)。
我们最初的计划是让旧服务器上的网站停止几分钟,将网站和数据库复制到新服务器,并将旧服务器上的 IIS 6 网站重定向到www2.<domain>.com
指向新服务器的服务器。这样,在 DNS 缓存刷新期间仍流向旧服务器的流量将被重定向到新服务器。
问题在于 SSL 证书是针对 的www.<domain>.com
,如果访问者使用 ,他们会看到安全警告www2.<domain>.com
。 重要的是,所有流量都应立即指向新服务器,因为我们不能拥有数据库或网站的 2 个独立副本。
答案1
答案2
我用过'隧道' 让 Windows 执行类似操作。在这种情况下,您需要绑定到 OldServer 上面向 Internet 的 IP 地址,并配置隧道以通过 SSL 与 NewServer:443 通信。然后,您需要将其配置为在该本地绑定上显示 SSL 证书对(您必须将其转换为正确的格式,但有工具可以做到这一点)。
这样,到旧服务器的传入连接就会获得其期望的相同 SSL,并且其整个会话都会被悄悄且安全地代理到新服务器。
答案3
我会考虑使用应用程序请求路由(http://www.iis.net/download/ApplicationRequestRouting)是一个 IIS 扩展,它基本上提供了代理/路由器并可充当负载平衡器,因此您可以将其安装在 IIS 7 计算机中并开始通过它路由所有请求,以便旧的 IIS 6 服务器仍然运行所有请求,然后使用 Web 部署(http://www.iis.net/download/WebDeploy) 将实时服务器同步到新的 IIS 7 发布内容和证书以及任何其他对象,如 GAC、COM 等。同步完成后,您可以关闭路由,然后 IIS 7 就可以立即直接处理请求,如果出现问题,您可以随时启用 ARR 以继续在后端路由它们。