带 ARR 的反向代理的 SSO ADFS 重定向问题

SSO ADFS redirection issue with reverse proxy with ARR

我使用 ARR 和 URL 在 IIS 8.5 上重写

public 暴露的站点是 http://publicsite

http:/public站点充当内部站点 http:/internalsite

的反向代理

在我们为内部站点实施 SSO 之前,一切都运行良好。 实施 sso 后,内部站点将重定向到 http:/ssosite 以进行身份​​验证

由于在 ARR 中我们启用了选项 "Reverse rewrite host in response headers",所以重定向到 sso 站点是不正确的。 为了让它工作 "Reverse rewrite host in response headers" 被禁用。并且 sso 重定向开始工作。

但现在发生的问题是在成功登录后 ADFS 尝试重定向到 http:/public 站点。反向代理以 302 响应,响应中的位置是 http:/internalsite,客户端计算机无权访问。

在同一浏览器中,如果我再次尝试访问站点 http:/publicsite,一切都按预期工作,因为它已经过身份验证,不需要重定向到 sso 站点并返回到应用程序。

我的理解是响应 header 不会被重写,因为我们禁用了 "Reverse rewrite host in response headers" 选项。

在反向代理服务器的applicationhost.config中设置preserveHostHeader="true"。这解决了这个问题。

https://forums.iis.net/t/1176668.aspx