0

我的 ASP.NET 应用程序使用 Windows 身份验证。我在 IIS 中托管应用程序并尝试从同一服务器访问应用程序。我能够毫无错误地访问该应用程序。但是当我尝试访问服务器外部的相同应用程序时,我收到以下错误:

无法找到该资源。说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的 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

请帮我解决这个问题。

4

1 回答 1

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 发生。
    • 不要使用代理。

可能由于代理而出现问题。

也只是为了确保一切都正确配置,检查这些故障排除/配置链接:

于 2013-06-11T07:11:33.657 回答