有一个安全功能尝试拦截服务器上的反射攻击。这些攻击基本上是“中间人”攻击,其中攻击者对试图进行身份验证的两个参与系统执行质询-响应协议。
当您的服务器使用映射到环回地址的主机名时,试图保护您免受这些攻击的安全功能无法区分合法请求和欺诈请求。症状是所有挑战响应尝试都会失败。
您的选择是在注册表中指定主机名或禁用环回检查(不推荐)。
评论中链接的知识库文章提供了有关如何更改来解决此问题的具体说明:http://support.microsoft.com/kb/896861 http://support.microsoft.com/kb/896861
-- 编辑 2022 年 8 月 31 日 --
原来的 MSKB URL 目前已经过期,但幸运的是,在此之前它已被存档:
https://web.archive.org/web/20140212102642/http://support.microsoft.com/kb/896861 https://web.archive.org/web/20140212102642/http://support.microsoft.com/kb/896861
上面写着:
当您浏览使用集成身份验证并托管在 IIS 5.1 或更高版本上的网站时,您会收到错误 401.1
有两种方法可以解决此问题,请根据您的具体情况使用以下方法之一。
方法一: 指定主机名(如果需要 NTLM 身份验证,则为首选方法)
要指定映射到环回地址并可以连接到计算机上的网站的主机名,请按照下列步骤操作:
-
Set the DisableStrictNameChecking
注册表项为 1。
- For more information about how to do this, click the following article number to view the article in the Microsoft Knowledge Base:
281308 https://web.archive.org/web/20130219023118/http://support.microsoft.com/kb/281308连接到基于 Windows 2000 的计算机或基于 Windows Server 2003 的计算机上的 SMB 共享可能无法使用别名
-
Click Start, click Run, type regedit,然后单击OK.
-
在注册表编辑器中,找到并单击以下注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
-
右键点击MSV1_0, 指向New,然后单击多字符串值.
-
Type BackConnectionHostNames
,然后按 ENTER 键。
-
右键点击BackConnectionHostNames
,然后单击Modify.
-
In the 价值数据框中,键入主机名或本地计算机上站点的主机名,然后单击OK.
-
退出注册表编辑器,然后重新启动 IISAdmin 服务。
方法二: 禁用环回检查(不太推荐的方法)
第二种方法是通过设置禁用环回检查DisableLoopbackCheck
注册表项。
要设置DisableLoopbackCheck
注册表项,请按照下列步骤操作:
-
Set the DisableStrictNameChecking
注册表项为 1。
- For more information about how to do this, click the following article number to view the article in the Microsoft Knowledge Base:
281308 https://web.archive.org/web/20130219023118/http://support.microsoft.com/kb/281308连接到基于 Windows 2000 的计算机或基于 Windows Server 2003 的计算机上的 SMB 共享可能无法使用别名
-
Click Start, click Run, type regedit,然后单击OK.
-
在注册表编辑器中,找到并单击以下注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
-
右键点击Lsa, 指向New,然后单击双字值.
-
Type DisableLoopbackCheck
,然后按 ENTER 键。
-
右键点击DisableLoopbackCheck
,然后单击Modify.
-
In the 价值数据框、类型1,然后单击OK.
-
退出注册表编辑器,然后重新启动计算机。