0

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

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

3 台机器中的任何一台的事件查看器中都没有任何内容可以指示可能发生的情况。

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

任何想法从哪里开始解决这个问题?

4

2 回答 2

2

Turns out that IIS 7 reverse proxies do not support Kerberos Authentication so you have to disable it on your backend servers so they use NTLM.

Unfortunately on 2k8 there's no easy way to do this, you have to mess around with the registry. In 2k8 R2 however there are GUI options in IIS 7 for managing Authentication Providers.

于 2010-07-17T02:24:42.330 回答
1

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

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

于 2010-05-28T18:48:06.080 回答