如何将 IIS 中网站的请求重定向到不同的外部服务器?

如何将 IIS 中网站的请求重定向到不同的外部服务器?

我即将把网站从 IIS 移至 Linux VPS。这其中涉及更新区域记录。

从我更改区域记录到将其传播到客户端计算机需要一些时间。因此,将向 IIS 服务器发送指向不同 IP 的域的请求。

我想配置我的服务器,以便当它收到请求时http://example.com/some/path,它会透明地(或非透明地)将请求转发到新服务器。请注意,我不能简单地执行 302 重定向,因为域名没有改变,只有域名的区域记录改变。

我怎样才能做到这一点?

谢谢,詹姆斯

答案1

我过去曾通过创建 www2.whatever.com 子域来处理此问题,新服务器将在该子域上进行监听此外到 www。关键是它不能重定向到 www(否则您将回到原点)。

更改 DNS 以将 www 指向新服务器后,您将旧服务器更改为 302 将 www 重定向到 www2。

结果是,获得更新的 DNS 条目的客户端可以按预期工作,而获得缓存条目的客户端会临时重定向到 www2(这是新的,并且始终指向新服务器)。最终,它们的缓存过期,它们尝试连接到 www 时会指向新服务器。

经过足够的时间后,您可以将 www2 301 重定向到 www,但我认为在大多数情况下,您只需删除它就可以了。

或者

你可以让所有请求都通过代理。我使用云Flare在我的所有网站上都使用 的免费计划,由于所有请求实际上都通过它们,因此更改我的网站的 IP 地址实际上只是更改了其代理中的一个条目。最终用户在 DNS 中看到的是相同的 IP 地址,因此更改基本上是即时的。

答案2

在 IIS 中安装 ARR(应用程序请求路由)并进行配置。完成。

IIS 很久以前就具有此功能。

相关内容