IIS Response.Redirect无法正确解析

时间:2018-03-19 15:50:39

标签: c# asp.net-mvc iis

IIS中是否存在可能影响Response.Redirect的任何设置?

用户在页面上:" https://originaldomain/pages/map"我目前正在这样做:

Response.Redirect(url, true);

将URL变量设置为https://someotherdomainotherthanmine/I/am/Url

而不是解析为https://someotherdomainotherthanmine/I/am/Url,它正在解析为https://originaldomain/I/am/Url

可能导致这种变化的原因是什么?

我目前正在将托管在内部部署服务器上的Web应用程序移动到AWS中托管的VM。我的应用程序正在处理遗留硬件 - 即代码在自托管代码和我用于AWS实例的代码之间没有变化。这让我相信这是IIS中的某种设置,而不是代码中的某些设置。

1 个答案:

答案 0 :(得分:0)

最后,这是由IIS的服务器级别的应用程序请求路由缓存配置引起的。

请求来自siteA.domain.com/path,重写为siteB.domain.com/path。在出路的时候,siteA.domain.com正在重写标题中的主机。

我选中了一个复选框"在响应标题中反转重写主机"在ARR->服务器代理设置中。

要查找此设置,请转到IIS中的服务器级节点,打开“应用程序请求路由缓存”。在右侧操作窗格中,在代理下有一个选项"服务器代理设置"。点击它。从顶部开始大约有四个左右的设置,在响应标题中有一个复选框"反向重写主机"。对我来说,这已被检查并导致标题在出路时重写主机。取消选中它解决了我的问题。