Iis 7 NTLM身份验证仅在2k8 IIS7反向代理后面的2k8应用服务器上使用IE时失败

Iis 7 NTLM身份验证仅在2k8 IIS7反向代理后面的2k8应用服务器上使用IE时失败,iis-7,ntlm,wia,windows-authentication,Iis 7,Ntlm,Wia,Windows Authentication,我正在为使用Windows/NTLM/WIA/任何身份验证的intranet站点开发一个ASP.NET应用程序。该应用程序托管在Windows 2k8服务器上,但在另一台2k8计算机上使用IIs7通过反向代理进行访问 身份验证在FireFox、Chrome和Safari中运行良好,但在IE8中失败。如果我绕过代理,直接访问应用服务器,那么它工作得很好,因此它与代理有关 在这三台机器中的任何一台上,事件查看器中都没有指示可能发生的事情 如果您使用IE8进行连接,它会提示您输入凭据,而不是自动传递凭

我正在为使用Windows/NTLM/WIA/任何身份验证的intranet站点开发一个ASP.NET应用程序。该应用程序托管在Windows 2k8服务器上,但在另一台2k8计算机上使用IIs7通过反向代理进行访问

身份验证在FireFox、Chrome和Safari中运行良好,但在IE8中失败。如果我绕过代理,直接访问应用服务器,那么它工作得很好,因此它与代理有关

在这三台机器中的任何一台上,事件查看器中都没有指示可能发生的事情

如果您使用IE8进行连接,它会提示您输入凭据,而不是自动传递凭据。是的,我已在域信任之上设置了显式信任,但它仍然会出错,并从代理返回401错误

您知道从何处开始对此进行故障排除吗?

在客户端计算机上运行将是开始的地方,以查看从代理返回的身份验证头与直接连接的身份验证头有何不同

您需要检查在它工作的情况下,是否使用了NTLMv1、NTLMv2或Kerberos。Win7上的IE8现在默认会阻止NTLMv1,这可能与问题有关?

在客户端计算机上运行将是开始的地方,以查看从代理返回的身份验证头与直接连接的身份验证头有何不同


您需要检查在它工作的情况下,是否使用了NTLMv1、NTLMv2或Kerberos。Win7上的IE8现在默认会阻止NTLMv1,这可能与问题有关?

结果表明,IIS 7反向代理不支持Kerberos身份验证,因此您必须在后端服务器上禁用它,以便它们使用NTLM


不幸的是,在2k8上没有简单的方法可以做到这一点,你必须搞乱注册表。但是,在2k8 R2中,IIS 7中有GUI选项用于管理身份验证提供程序。

结果表明,IIS 7反向代理不支持Kerberos身份验证,因此您必须在后端服务器上禁用它,以便它们使用NTLM


不幸的是,在2k8上没有简单的方法可以做到这一点,你必须搞乱注册表。但是,在2k8 R2中,IIS 7中有GUI选项用于管理身份验证提供程序。

感谢您的提示,我没有想到检查Fiddler以查看HTTP头中请求的身份验证类型。事实证明,只有IE可以执行Kerberos身份验证,而IIS 7代理无法执行。感谢您的提示,我没有想到检查Fiddler以查看HTTP头中请求的身份验证类型。事实证明,只有IE才能进行Kerberos身份验证,而IIS 7代理无法。