我在IIS 8.5上有ARR和URL Rewite的反向代理设置
公共站点暴露的是http:/ publicsite
http:/ publicsite充当内部站点http:/ internalsite的反向代理
在我们为内部网站实施SSO之前,每件事情都很好 . 一旦实施了sso,内部站点将重定向到http:/ ssosite以进行身份验证
由于在ARR中我们启用了“在响应头中反向重写主机”选项,因此重定向到sso站点是不正确的 . 使其工作“禁用反向 Headers 中的反向重写主机” . 并且sso重定向开始工作 .
但现在问题发生在成功登录后,ADFS尝试重定向到http:/ publicsite . 反向代理用302响应,响应中的位置是http:/ internalsite,客户机无法访问 .
在同一个浏览器中,如果我再次尝试访问站点http:/ publicsite,一切都按预期工作,因为它已经过身份验证,并且不需要重定向到sso站点并返回应用程序 .
我的理解是响应头没有被重写,因为我们已经禁用了“在响应头中反向重写主机”选项 .
1 回答
在反向代理服务器的applicationhost.config中设置preserveHostHeader =“true” . 这解决了这个问题 .
https://forums.iis.net/t/1176668.aspx