IIS Windows 身份验证无法通过主机名在 Internet Explorer 中工作;而可以通过 IP 工作

IIS Windows 身份验证无法通过主机名在 Internet Explorer 中工作;而可以通过 IP 工作

我正在尝试让一个新的 Windows Server 2003 机箱运行,以托管使用 Windows 身份验证的 ASP.NET 应用程序。

以下是一些信息:

  • IIS 匿名访问已禁用
  • 已启用 IIS 集成 Windows 身份验证
  • 我尝试过使用和不使用摘要式身份验证,结果是一样的
  • 我的机器和服务器都位于同一内联网上的同一活动目录域中
  • 我使用的是 IE 6

我的症状:

  • 在 Firefox 中,无论是通过 IP 还是主机名,都会弹出一个登录框,如果我输入我的 NT 凭据,它就可以正常工作。
  • 在 IE 中,通过服务器 IP 地址,它可以完美运行,无需登录框。
  • 在 IE 中,通过服务器主机名,它会弹出一个登录框,但即使我输入了正确的凭据,它也会再次弹出该框。这就是问题所在。

为什么 Windows 身份验证无法通过主机名在 IE 中工作,但可以通过 IP 地址工作?

编辑:
还有一件有趣的事情。如果我进入 Internet Explorer 高级设置并禁用 Windows 身份验证,它似乎可以正常工作。我说的正常工作是指我的测试 .NET 应用程序将我的 NT ID 视为当前用户。

答案1

答案2

我希望本文能帮助您将 NTLM 设置为主要身份验证方法。

http://support.microsoft.com/kb/215383

在许多情况下,我无法让 kerberos 身份验证正常工作。如果您希望进一步排除 kerberos 故障,请尝试在客户端计算机上使用 kerbtray。

http://www.microsoft.com/downloads/en/details.aspx?familyid=4E3A58BE-29F6-49F6-85BE-E866AF8E7A88&displaylang=en

这也可能有帮助:http://support.microsoft.com/kb/299838

答案3

只是一点提示。

主机名是否包含任何点?我在 IE 中输入以下内容时遇到了各种问题:http://我的服务器/ 就像 IE 只需要名称中有一个点就可以正常工作一样。

测试此问题的简单方法是伪造地址:编辑 C:\Windows\System32\drivers\etc\hosts 文件。添加一行包含服务器 IP 和虚假名称的内容 - 如下所示:192.168.10.78 myserver.mycompany.com

进而http://myserver.mycompany.com/

相关内容