症状
在使用完全限定的域名 (FQDN) 或自定义主机标头浏览承载于运行 Microsoft Internet 信息服务 (IIS) 5.1 或更高版本的计算机上的本地网站时,可能会收到类似于以下内容的错误消息:
当网站使用集成身份验证并具有映射到本机环回地址的名称时,将出现此问题。
注意:仅当尝试直接在服务器上浏览网站时,才会收到此错误消息。如果从客户端计算机浏览网站,网站会正常运行。
此外,还在安全事件日志中记录了类似于以下事件消息的事件消息:此事件消息包括“登录进程”项的值中的一些奇怪字符:
注意:此错误消息中单词“Web”未采用首字母大写。
所发出的 Web 服务请求不会在 IIS 日志中产生 HTTP 401 消息。在使用 Web 服务的应用程序的错误事件的“说明”部分中可能会记录 HTTP 401 消息。例如,Microsoft Commerce Server 2002 可能会出现此行为。如果出现此行为,则这是 Microsoft Windows Server 2003 Service Pack 1 (SP1) 和环回检查安全功能所进行的更改的表现。
HTTP 401.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.
Verify that you are a member of the 'Debugger Users' group on the server.
所发出的 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 知识库中相应的文章:
可使用两种方法解决此问题,请根据您的具体情况使用以下方法之一:
若要我们为您解决该问题,请转到“帮我修复此问题”部分。如果您想自己修复此问题,请转到“我自己修复此问题”部分。
注意:此向导可能只提供英文版本。但是,Windows 的其他语言版本也提供自动修复功能。
注意:如果您使用的计算机并未出现此问题,则可将自动修复功能保存至闪存驱动器或 CD 中,然后就可在出现此问题的计算机中运行该功能。
322756 如何在 Windows XP 中备份和还原注册表
可使用两种方法解决此问题,请根据您的具体情况使用以下方法之一:
方法 1:禁用环回检查
第一种方法是通过设置 DisableLoopbackCheck 注册表项来禁用环回检查。若要我们为您解决该问题,请转到“帮我修复此问题”部分。如果您想自己修复此问题,请转到“我自己修复此问题”部分。
帮我修复此问题
若要自动设置 DisableLoopbackCheck 注册表项,请单击“修复此问题”链接。单击“文件下载”对话框中的“运行”,然后按照修复此问题向导中的步骤执行操作。注意:此向导可能只提供英文版本。但是,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 服务。