我正在将许多站点从旧 Web 服务器移动到新站点。它需要尽可能透明地完成。
这些站点由 WCMS 支持,因此客户有可能对其旧站点进行更改。为了避免这种情况,我想在旧机器上设置一个 TCP 或 HTTP 代理,透明地转发到新机器。这将大大减轻处理 DNS 的压力,由于过去一些糟糕的决策,这本身将是一项艰巨的工作。
我应该使用 HTTP 或 TCP 代理,还是这通常只是一个糟糕的调用?请注意,我基本上自己处理几千个站点。
我正在将许多站点从旧 Web 服务器移动到新站点。它需要尽可能透明地完成。
这些站点由 WCMS 支持,因此客户有可能对其旧站点进行更改。为了避免这种情况,我想在旧机器上设置一个 TCP 或 HTTP 代理,透明地转发到新机器。这将大大减轻处理 DNS 的压力,由于过去一些糟糕的决策,这本身将是一项艰巨的工作。
我应该使用 HTTP 或 TCP 代理,还是这通常只是一个糟糕的调用?请注意,我基本上自己处理几千个站点。
有几种方法可以做到这一点,在你的情况下可能会也可能不会,但这里有一个选择:
您可以在旧服务器上设置重定向而不是仅仅停止它,但它需要重定向到另一个 IP,所以这并不总是很干净。如果您认为可以设置代理,那不会有什么坏处,但是您仍然需要有时间停止站点,进行最终的 robocopy,然后启动新站点。否则数据可能不同步。
如果您的站点所有者管理他们自己的 DNS,并且您不能同时将其全部中断,那么代理听起来不错。如果您可以移动 IP,则无需担心代理,但如果不能,则可能是 HTTP 代理。
FWIW,当我准备将传入邮件集中到新服务器时,我只是更改了防火墙上的 NAT 规则,将外部 IP 指向更新的内部 IP。快速、简单,最重要的是 - 如果我需要快速恢复,只需几秒钟即可更改。
如果您在两台服务器上都使用 IIS(如果您使用 IIS 7+ 则更好),您可以在旧服务器上设置转发规则,将所有流量转发到新 IP。这可能不是很干净,因为可能会向用户显示新服务器的 IP 地址。另一种选择是建立一个新页面,所有流量都通过旧服务器发送,该服务器重写来自新 IP 的输出。(即旧 - http://www.example.com IP = 0.0.0.1 新 IP = 0.0.0.2, 0.0.0.1 有一个请求http://0.0.0.2/whatever的页面,并将该响应发送回用户)。诀窍是将表单数据从一台服务器发送到另一台服务器。