ADFS-ID1059:由于URL方案不是https并且requireSsl设置为true,因此无法对用户进行身份验证

Har*_*tty 6 asp.net-mvc https load-balancing adfs2.0

我们拥有一个托管和配置为将ADFS 2.0用于SSO的网站。当我通过https浏览网站时,出现以下错误。

我认为原因是负载平衡器使用http击中Web服务器。如果我更改了web.config中的以下条目,则可能会解决,但不确定副作用。有什么经验吗?

 <federatedAuthentication>
    <wsFederation passiveRedirectEnabled="true" 
            issuer="https://localhost/abc" 
            realm="https://localhost/abc/" requireHttps="true"/>
    <cookieHandler requireSsl="true"/>
</federatedAuthentication> 
Run Code Online (Sandbox Code Playgroud)

异常详细信息:System.InvalidOperationException:ID1059:由于URL方案不是https且配置中requireSsl设置为true,因此无法对用户进行身份验证,因此将不发送身份验证cookie。将URL方案更改为https或在配置中的cookieHandler元素上将requireSsl设置为false。

System.IdentityModel.Services.WSFederationAuthenticationModule.OnEndRequest(对象发送者,EventArgs参数)+726

nzp*_*mad 2

这是当您安装终止 SSL 的负载均衡器时出现的典型错误。

我们有很多这样的网站 - 从未发现任何副作用。

只需确保 ADFS 流量先出去然后再进来,因为 ADFS 在配置时不允许 http 端点。重定向回 RP 时,它始终使用 https 端点。

警告 - ADFS 流量无法在负载均衡器处终止 - 它需要 https 一直到达 ADFS 服务器。