HTTP 错误故障排除

更新日期: 2007 年 9 月 15 日

本部分介绍当您试图配置 Reporting Services 组件时可能发生的 HTTP 错误。 请单击以下链接阅读关于本主题中特定错误的说明:

HTTP 400 错误的请求

HTTP 400 错误的请求

如果使用非默认网站或者修改了用于访问报表服务器或报表管理器的站点或虚拟目录的属性,则可能会因设置不完整或设置无效而遇到 HTTP 400 错误。

报表管理器承载在非默认网站上

如果在访问报表管理器(例如,通过在浏览器窗口的 URL 地址中键入 https://servername/reports)时发生此错误,请执行以下操作:

报表服务器承载在默认网站上

如果在访问报表服务器(例如,通过在浏览器窗口的 URL 地址中键入 https://servername/reportserver)时发生此错误,则最可能的原因是 IIS 安装无效,尤其是在报表服务器承载于默认网站上时。 若要检查默认网站的 IIS 设置,请查看 IIS 元数据库 (metabase.xml) 中的值:

  1. 在文本编辑器中打开 metabase.xml。 默认情况下,它位于 %windir%\system32\inetserv 中。
  2. 找到 <IIsWebServer Location ="/<服务器名称>/W3SVC/1">
  3. 验证最后的值是否为 1。 如果最后的值不是 1,则默认网站具有无效的配置,应考虑重新安装 IIS。

HTTP 401 拒绝访问

该错误表示承载报表服务器虚拟目录的站点上的 IIS 设置存在问题。 如果 IIS 设置对于报表服务器虚拟目录来说不完整或者无效,则会发生 HTTP 401 错误。

通过完全限定域名或主机头访问本地报表服务器实例

如果使用完全限定域名 (FQDN) 或自定义主机头来浏览在运行 Microsoft Windows XP Service Pack 2 (SP2) 或 Microsoft Windows Server 2003 Service Pack 1 (SP1) 的计算机上承载报表服务器的本地网站,则会发生 HTTP 401 错误。

如果 FQDN 或自定义主机头与本地计算机名不匹配,则错误的原因是产生“拒绝访问”错误的环回检查安全功能。 有关如何解决此错误的详细信息和说明,请参阅 Microsoft 知识库中的 Resolving error 401.1 when you browse a Web site that uses Integrated Authentication(解决浏览使用集成身份验证的网站时遇到的 401.1 错误)。

使用本地用户帐户或域用户帐户

在使用具有约束委托的 Kerberos 的安全环境中,如果将应用程序池配置为在域用户帐户下运行,但是没有为域帐户创建服务主体名称 (SPN),则会发生 HTTP 401 错误。 以下链接提供了有关为 ASP.NET 应用程序使用自定义帐户的更多信息:

如何为 ASP.NET 2.0 应用程序创建服务帐户

访问报表生成器

如果尝试打开报表生成器并且报表服务器配置为使用窗体身份验证,或者尝试打开的报表生成器所在的计算机不在包含报表服务器的域中,则会发生 HTTP 401 错误。 有关如何解决此错误的说明,请参阅为访问报表生成器而配置报表服务器

HTTP 403 禁止

当访问 Reporting Services 应用程序文件的权限被拒绝时就会发生此错误:

  • 验证分配给包含报表服务器 Web 服务的应用程序池的帐户是否为 IIS_WPG 安全组的成员。
  • 验证 ASP.NET 上的授权规则是否允许访问 Web 服务。 在默认安装中,将允许所有用户 (*) 访问 ASP.NET。 如果用于访问报表服务器的网站上的 ASP.NET 授权设置具有自定义设置,请验证是否允许该 Web 服务帐户进行访问。 若要检查授权规则,请打开 IIS 管理器,右键单击“网站属性”,依次单击 ASP.NET“编辑全局配置”“授权”,并查看“本地授权”的规则。

HTTP 404 找不到文件或目录

此错误表示虚拟目录配置有问题。

  • 如果您是通过非默认网站访问报表服务器并遇到此错误,请检查在自定义网站上设置报表服务器的所有步骤以确保没有遗漏任何步骤。 有关详细信息,请参阅如何配置 Reporting Services 以使用非默认网站(Reporting Services 配置)
  • 验证报表服务器虚拟目录属性设置是否正确。 对于 SQL Server 2005 Reporting Services,ASP.NET 版本应设置为 2.0.50727。 通配符应用程序映射应设置为 aspnet_isapi.dll。 为了在重设报表服务器虚拟目录的属性时获得最佳结果,请执行以下操作:
    1. 打开 Reporting Services 配置工具。
    2. 在“报表服务器虚拟目录”页上,选择**“应用默认设置”,然后单击“应用”**。
    3. 在“Web 服务标识”页上,重新选择使用的帐户,然后单击**“应用”**。
  • 验证针对您的部署所指定的 URL 是否正确。 如果为要通过其来访问 Reporting Services 的网站分配了特定端口,则必须将该端口包含在 URL 中。 例如,如果为默认网站分配了端口 8080,则 URL 为 https://servername:8080/reportserver。
  • 如果将 Reporting Services 作为命名实例安装,则默认虚拟目录可能会包含该实例名称。 若要验证虚拟目录名称,请使用 Reporting Services 配置工具并打开“报表服务器虚拟目录”页和“报表管理器虚拟目录”页。
    如果安装了具有高级服务的 SQL Server Express Edition,则默认虚拟目录名称会不同于其他版本的默认名称。 例如,如果您习惯于使用 https://localhost/reports 来访问 Developer Edition 中的报表管理器,则必须使用 https://localhost/reports$SQLExpress 来访问具有高级服务的 Express Edition 中的报表管理器。

HTTP 500 内部服务器错误

Reporting Services 要求使用 Microsoft .NET Framework 2.0 或更高版本。 将报表服务器或报表管理器虚拟目录映射到版本 1.1.4322 或早期版本时,可能会发生此错误。 若要检查应用程序映射,请导航到报表服务器虚拟目录,并右键单击**“属性”。 在“虚拟目录”选项卡上,单击“配置”,滚动到 .aspx 扩展名,并查看“可执行文件路径”**值。 如果该值设置为 v1.1.4322 或早期版本,则必须将虚拟目录配置为使用版本 2.0。 请按照 Knowledge Base Article 306005(知识库文章 306005)中的说明在 IIS 中注册 .NET Framework 的特定版本。

在计算机上注册了 ASP.NET 2.0 之后,应在 Reporting Services 配置工具中重设 IIS 并重新指定报表服务器和报表管理器虚拟目录。

请参阅

概念

Reporting Services 部署中的连接和帐户
Reporting Services 日志文件

其他资源

Reporting Services 故障排除
Reporting Services 错误和事件

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2007 年 9 月 15 日

新增内容:
  • HTTP 400 和 403,并为 401 和 404 添加了新项目。

2006 年 7 月 17 日

新增内容:
  • HTTP 401 拒绝访问