将具有 SSL 证书的网站从一台 IIS 服务器迁移到另一台,无需停机

将具有 SSL 证书的网站从一台 IIS 服务器迁移到另一台,无需停机

我们正在将一些网站从较旧的 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

您可能考虑在旧 Web 服务器上使用 TCP 代理,在旧 DNS 记录从缓存中过期时将流量代理到新 Web 服务器计算机。根据您处理的流量量,例如rinetd可能会很好地处理负载。

如果负载不是在旧机器上运行的简单工具(如 rinetd)可以处理的,您可以设置一台运行各种开源代理的专用机器(哈普罗西平衡等)负责应答旧 Web 服务器的 IP,并将 TCP 代理到新机器。

答案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 以继续在后端路由它们。

相关内容