【问题标题】:Why does WCF service give 401 error on IIS 6.0为什么 WCF 服务在 IIS 6.0 上出现 401 错误
【发布时间】:2012-02-06 09:19:46
【问题描述】:

我在运行 IIS 6.0 的 Windows Server 2003、XP 机器上遇到了这个奇怪的问题。我使用应用程序池标识部署了 WCF 服务。我可以在那个盒子上像这样浏览 svc 文件,

http://localhost/servicename.svc

但是当我执行http://machinename/servicename.svc 时,它会要求提供凭据。 该网站配置为匿名访问和集成 Windows 身份验证。

我真的不确定这里出了什么问题,我有另一台机器是此框的故障转移位置,在 IIS 中使用完全相同的设置时,同样的事情可以正常工作。

【问题讨论】:

    标签: wcf iis-6


    【解决方案1】:

    确保应用程序池标识对 IIS 托管的文件具有读取和执行访问权限(换句话说,检查 D:\path\to\site 中的文件)。无论是网络服务、域帐户还是其他任何东西.. 都需要 R&X 权限。

    我猜这是因为您是服务器上的本地管理员,因此当您在本地执行此操作时,您可以使用自己的本地凭据来拉取站点。但是当您远程执行此操作时,IIS 必须有权访问这些文件——即使启用了匿名访问(否则,它如何加载文件以向您提供页面?)。

    如果您仍然感到困惑,请尝试在发出请求时在服务器上使用 filemon 或 procmon local 之类的程序,并在收到 401 时查看访问被拒绝的情况。

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 2015-11-11
      • 2012-07-13
      相关资源
      最近更新 更多