我有一个在IIS6下运行的Intranet网站(在特定端口下,而不是默认端口),启用了集成的Windows身份验证,并使用配置了服务帐户的应用程序池。问题是,如果我使用URL中的完全限定域使用服务器名称访问网站,它会抛出登录提示(即使输入我的Windows登录凭据也不起作用),但如果我使用的是IP地址服务器然后它工作正常。请让我知道我需要做什么才能获得服务器名称工作的URL。 例如http://servername:8080/default.aspx抛出登录提示,但http://ip地址:8080 / default.aspx工作正常
答案 0 :(得分:1)
我遇到了同样的问题。我相信它与Kerberos身份验证机制有关。如果它转向NTLM它将起作用(它在使用IP地址时会这样)。 Kerberos需要在Active Directory上注册的SPN才能工作。 Kerberos也不允许您在不同的帐户下运行应用程序池,但使用相同的服务器名称。在这些情况下,您应该拥有该站点的备用名称,并使用Kerberos注册该名称。但是,我还没有真正解决这个问题,所以这些只是建议。
答案 1 :(得分:0)
我想到了两个可能的问题:
网络中的DNS服务器未将servername
解析为IP
Ping servername
以检查名称是否带来了预期的IP C:\Windows\System32\drivers\etc\hosts
文件并添加服务器名称和IP地址 IIS6中的Bindings
不期望servername
servername
或Host Header Name
字段为空
答案 2 :(得分:0)
当Web服务器的IP地址由于新的内部IP寻址方案而改变时,我确实有这些症状。通过身份验证从Web服务器本身进行,但不是从任何其他系统。从其他系统,使用URL中的主机名导致IE提示始终被拒绝的凭据,使用URL中的IP地址导致IE提示已接受的凭据。在追逐了很多红色鲱鱼后,我们怀疑服务器正在使用旧IP地址缓存凭据,因此我们重新启动了服务器,一切正常。
答案 3 :(得分:0)
试试这个。我有完全相同的问题,并为我修复它(我是链接的线程)
我将我的网站的AuthenticationProvider设置为“NTLM,Negotiate”
遵循以下说明: http://support.microsoft.com/kb/215383
稍微改变他们设定提供者的指示
矿:
cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "**NTLM, Negotiate**"
您可以通过单击IIS左侧的“网站”文件夹获取网站ID。这应该列出您的所有网站ID
感谢Nick的回答让我知道了