代码之家  ›  专栏  ›  技术社区  ›  MyItchyChin JNK

NTLM身份验证仅在针对2K8 IIS7反向代理后的2K8应用服务器的IE上失败

  •  0
  • MyItchyChin JNK  · 技术社区  · 14 年前

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

    在Firefox、Chrome和Safari中,身份验证工作正常,但在IE8中失败。如果我绕过代理直接访问应用服务器,那么它可以正常工作,因此它与代理有关。

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

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

    有什么想法从哪里开始排除故障?

    2 回复  |  直到 14 年前
        1
  •  2
  •   MyItchyChin JNK    14 年前

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

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

        2
  •  1
  •   bobince    14 年前

    运行 Fiddler 在客户机上是开始的地方,查看从代理返回的auth头与直接连接的auth头有什么不同。

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