我的ASP.NET应用程序使用Windows身份验证。我在IIS中托管了该应用程序,并尝试从同一服务器访问该应用程序。我能够无错误地访问应用程序。但是当我尝试在服务器外部访问相同的应用程序时,我收到以下错误:
无法找到资源。描述:HTTP 404.资源你 正在寻找(或其中一个依赖)可能已被删除, 更改名称,或暂时不可用。请查阅 以下URL并确保拼写正确。
请求的网址:/FacetsUserSetupApp/home.aspx
令人惊讶的是,我有时会收到此错误。其他时候工作正常。我不确定这种行为是如何发生的。
发生错误时,IIS跟踪日志会显示以下消息:
2013-06-10 15:14:32 10.0.40.168 GET /FacetsUserSetupApp/Home.aspx - 80 - 10.4.43.41 Mozilla / 4.0 +(兼容; + MSIE + 7.0; + Windows + NT + 5.1; +。NET + CLR + 1.1.4322; +。NET + CLR + 2.0.50727; +。NET + CLR + 3.0 .04506.648; + NET + CLR + 3.5.21022; + NET + CLR + 3.0.4506.2152; + NET + CLR + 3.5.30729; + InfoPath.3; + MS-RTC + LM + 8; + NET4 .0C; + NET4.0E; + MS-RTC + LM + 8) 401 2 5 140
2013-06-10 15:14:33 :: 1 POST /FacetsUserSetupService/Service1.svc - 80 - :: 1 - 200 0 0 781
2013-06-10 15:14:33 :: 1 POST /FacetsUserSetupService/Service1.svc - 80 - :: 1 - 200 0 0 15
请帮我解决这个问题。
答案 0 :(得分:2)
您似乎获得了401.2状态代码:
HTTP 401.2:服务器配置拒绝
<强>描述强>
客户端浏览器和IIS无法就身份验证达成一致 协议
常见原因
在IIS中未选择身份验证协议(包括匿名)。必须至少选择一种身份验证类型。更多 信息,请单击以下文章编号以查看该文章 Microsoft知识库:
253667错误消息:HTTP 401.2 - 未经授权:由于服务器配置登录失败 没有身份验证
仅启用集成身份验证,并且较旧的非Internet Explorer客户端浏览器尝试访问该站点。这个 发生的原因是客户端浏览器无法执行集成 认证。若要解决此问题,请使用以下之一 方法:
- 配置IIS以接受基本身份验证。出于安全考虑,这应仅通过SSL进行。
- 使用可以执行集成身份验证的客户端浏览器。 Internet Explorer和Netscape Navigator和Mozilla的新版本 Firefox可以执行集成身份验证。
- 集成身份验证通过代理。发生这种情况是因为代理不维护NTLM身份验证的连接 因此从客户端向服务器发送匿名请求。 解决此问题的选项如下:
- 配置IIS以接受基本身份验证。出于安全考虑,这应仅通过SSL进行。
- 请勿使用代理。
可能是因为代理问题而发生。
另外,为了确保一切配置正确,请查看以下故障排除/配置链接: