【发布时间】:2015-01-03 11:05:26
【问题描述】:
对于网站登录,我正在使用带有 Authenticate 属性、CredentialsAuthProvider 和 UserAuth 存储库的 ServiceStack 的身份验证功能。它工作得很好,但是,在生产中,我们将所有 IIS 主机放在一个负载均衡器后面,该负载均衡器设计为仅服务于 HTTPS(将端口 443 上的所有请求转发到 IIS 实例上的端口 80)。这会产生一个问题 - Authenticate 属性仅重定向到 HTTP 端口 80 上的登录页面(我认为是因为它只看到代理的请求 Url,而不是原始的)。这会导致浏览器中的请求失败,因为负载均衡器不执行 HTTP,也不会将 HTTP 请求重定向到 HTTPS。我们不能将 IIS 也配置为仅 HTTPS。
有没有办法让 Auth 提供程序中的重定向始终是 HTTPS?或者,Auth 提供者是否可以查看 X-Forwarded-Proto 的 HTTP 标头以查看登录页面请求是否应该通过 HTTPS?
【问题讨论】:
标签: asp.net authentication https servicestack load-balancing