对于网站登录,我正在使用ServiceStack的身份验证功能以及Authenticate属性,CredentialsAuthProvider和UserAuth存储库。然而,在生产中,我们将所有IIS主机放在仅通过设计提供HTTPS服务的负载平衡器后面(将端口443上的所有请求转发到IIS实例上的端口80),这种方法运行良好。这就产生了一个问题 - Authenticate属性仅重定向到HTTP端口80上的登录页面(我认为是因为它只能看到代理请求Url,而不是原来的)。这会导致浏览器中的请求失败,因为负载平衡器不会执行HTTP并且不会将HTTP请求重定向到HTTPS。我们无法将IIS配置为仅限HTTPS。使用ServiceStack身份验证,有没有办法让重定向始终是HTTPS?
有没有办法使Auth提供程序中的重定向始终为HTTPS?或者,Auth提供程序可以查看X-Forwarded-Proto的HTTP标头以查看登录页面请求是否应该通过HTTPS?