使用Visual Studio 2005(Visual Studio 2008亦存在此问题)调试设置了主机头的网站时出现如下错误信息:
—————————
Microsoft Visual Studio
—————————
无法在 Web 服务器上启动调试。与 Web 服务器通信时出现身份验证错误。请参阅“帮助”以协助解决问题。
—————————
项目属性的Web中设置“项目URL”为 http://www.msdi.cn/MultiWeb
如果将“项目URL”指定为 localhost 则在设置时不会出现以上的错误,所以排除了网上绝大部分文章提供的“集成Windows身份验证”,项目属性中“启用调试”的解决方案。
真正的解决方法如下:
步骤 1: 禁用环回检查
请遵循以下步骤:
1. 打开注册表编辑器(单击 开始 , 单击 运行 , 类型 regedit然后单击 确定 )。
2. 中注册表编辑器, 找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
3. 右击 Lsa , 指向 新建 , 然后单击 DWORD 值 。
4. 类型 DisableLoopbackCheck然后按 Enter。
5. 右击 DisableLoopbackCheck , 然后单击 修改 。
6. 在 数值数据 框中, 键入 1然后单击 确定 。
7. 退出注册表编辑器, 并重新启动计算机。 (可以不重启计算机)
步骤 2: 指定主机名
要指定主机名, 映射到环回地址并可连接到 Web 站点上, 请按照下列步骤:
1. 打开注册表编辑器(单击 开始 , 单击 运行 , 类型 regedit然后单击 确定 )。 。
2. 中注册表编辑器, 找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
3. 右击 MSV1_0 , 指向 新建 , 然后再单击 多字符串值 。
4. 类型 BackConnectionHostNames然后按 Enter。
5. 右击 BackConnectionHostNames , 然后单击 修改 。
6. 在 数值数据 框中, 键入主机名或主机名为站点所在的本地计算机名称, 确定 。
7. 退出注册表编辑器, 并重新启动 IISAdmin 服务。
这个错误的信息只会出现在特定环境的计算机中:This issue only appears on Web Sites configured with a host header on machines with IIS 6 or IIS 5.1 and the RTM version of the .Net Framework 3.5 SP1.
参考文章:
当您浏览位置 IIS 5.1 或 IIS 6 上的网站并且使用集成身份验证时,会收到 401.1 错误
Debugging A Web Site With A Host Header
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述