在使用完全限定的域名 (FQDN) 或自定义主机标头浏览承载于运行 Microsoft Internet 信息服务 (IIS) 5.1 或更高版本的计算机上的本地网站时,可能会收到类似于以下内容的错误消息:
当网站使用集成身份验证并具有映射到本机环回地址的名称时,将出现此问题。
注意:仅当尝试直接在服务器上浏览网站时,才会收到此错误消息。如果从客户端计算机浏览网站,网站会正常运行。
此外,还在安全事件日志中记录了类似于以下事件消息的事件消息:此事件消息包括“登录进程”项的值中的一些奇怪字符:
事件类型:失败审核
事件来源:安全性
事件类别:登录/注销
事件 ID:537
日期:日期
时间:时间
用户:NT AUTHORITY\SYSTEM
计算机:Computer_Name
描述:登录失败:
原因:登录时出现错误
用户名:User_Name
域:Domain_Name
登录类型:3
登录过程:Ðùº
身份验证包:NTLM
工作站名:Computer_Name
状态代码:0xC000006D
子状态代码:0x0
调用方用户名:-
调用方域:-
调用方登录 ID:-
调用方进程 ID:-
传递服务:-
源网络地址:IP_Address
源端口:Port_Number
注意:有时,事件消息中出现的奇怪字符可能类似于以下字符:
Ðù²
。当您尝试在 Microsoft Visual Studio 2003 中调试 Microsoft ASP.NET 项目时,还可能收到类似于以下内容的错误消息:
Error while trying to run project:Unable to start debugging on the web server.You do not have permissions to debug the server.
Verify that you are a member of the 'Debugger Users' group on the server.
注意:此错误消息中单词“Web”未采用首字母大写。
所发出的 Web 服务请求不会在 IIS 日志中产生 HTTP 401 消息。在使用 Web 服务的应用程序的错误事件的“说明”部分中可能会记录 HTTP 401 消息。例如,Microsoft Commerce Server 2002 可能会出现此行为。如果出现此行为,则这是 Microsoft Windows Server 2003 Service Pack 1 (SP1) 和环回检查安全功能所进行的更改的表现。
如果安装 Microsoft Windows XP Service Pack 2 (SP2) 或 Microsoft Windows Server 2003 Service Pack 1 (SP1),则会出现此问题。Windows XP SP2 和 Windows Server 2003 SP1 包括一个环回检查安全功能,用于帮助防止计算机受到反射攻击。因此,如果所使用的 FQDN 或自定义的主机标头与本地计算机名称不匹配,则会出现身份验证失败。
重要说明:此部分、方法或任务包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows XP 中备份和还原注册表
可使用两种方法解决此问题,请根据您的具体情况使用以下方法之一:
方法 1:禁用环回检查
第一种方法是通过设置
DisableLoopbackCheck 注册表项来禁用环回检查。
若要我们为您解决该问题,请转到“
帮我修复此问题”部分。如果您想自己修复此问题,请转到“
我自己修复此问题”部分。
帮我修复此问题
若要自动设置
DisableLoopbackCheck 注册表项,请单击“
修复此问题”链接。单击“文件下载”
对话框中的“运行”
,然后按照修复此问题向导中的步骤执行操作。
修复此问题
Microsoft Fix it 50306
注意:此向导可能只提供英文版本。但是,Windows 的其他语言版本也提供自动修复功能。
注意:如果您使用的计算机并未出现此问题,则可将自动修复功能保存至闪存驱动器或 CD 中,然后就可在出现此问题的计算机中运行该功能。
我自己修复此问题
若要自己设置
DisableLoopbackCheck 注册表项,请按照下列步骤操作:
-
将
DisableStrictNameChecking
注册表项设置为 1。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中的相应文章:
281308 无法使用别名连接到基于 Windows 2000 或 Windows Server 2003 的计算机上的 SMB 共享 (EN)
-
依次单击「开始」、“运行”,键入 regedit,然后单击“确定”。
-
在注册表编辑器中,找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
-
右键单击“Lsa”,指向“新建”,然后单击“DWORD 值”。
-
键入 DisableLoopbackCheck,然后按 Enter。
-
右键单击 DisableLoopbackCheck,然后单击“修改”。
-
在“数值数据”框中,键入 1,然后单击“确定”。
-
退出注册表编辑器,然后重新启动您的计算机。
方法 2:指定主机名
若要指定映射到环回地址并且可以连接到计算机上的网站的主机名,请按照下列步骤操作:
-
将
DisableStrictNameChecking
注册表项设置为 1。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中的相应文章:
281308 无法使用别名连接到基于 Windows 2000 或 Windows Server 2003 的计算机上的 SMB 共享 (EN)
-
依次单击「开始」、“运行”,键入 regedit,然后单击“确定”。
-
在注册表编辑器中,找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
-
右键单击“MSV1_0”,指向“新建”,然后单击“多字符串值”。
-
键入 BackConnectionHostNames,然后按 Enter。
-
右键单击“BackConnectionHostNames”,然后单击“修改”。
-
在“数值数据”框中,为本地计算机上的网站键入一个或多个主机名,然后单击“确定”。
-
退出注册表编辑器,然后重新启动 IISAdmin 服务。