HTTP 错误故障排除

本节提供在 Reporting Services 安装中最有可能发生的 HTTP 错误的原因和解决方法信息。

HTTP 400 错误的请求

如果 Internet Explorer 返回“找不到该网页”或 HTTP 400 错误,则报表服务器数据库可能未配置或不可用。使用 Reporting Services 配置工具可检查数据库是否已配置。使用“管理工具”中的“服务”控制台应用程序可检查 SQL Server 数据库引擎实例是否已启动。

HTTP 401 拒绝访问和身份验证设置不匹配导致的 HTTP 500 内部服务器错误

如果在报表服务器 Web.config 文件和 RSReportServer.config 文件间存在身份验证设置冲突,则会产生 HTTP 401 和 HTTP 500 错误。若要使其兼容,应该遵循以下设置:

RSReportServer.config

报表服务器的 Web.config

RSWindows*

Authentication=”Windows”

自定义

Authentication=”Forms”

如果这些设置不匹配(例如,为同一报表服务器指定了 RSWindows* 和 Forms),将产生 HTTP 错误。根据请求是否在检测到不匹配之前经过了验证,返回的错误将有所不同。如果验证请求失败在前,则返回 HTTP 401;如果一开始验证成功,但随后检测到不匹配,则返回 HTTP 500。

如果在修改身份验证设置后仍收到这两种 HTTP 错误之一,请检查这两个文件是否已正确更新并且设置是否遵循同一个身份验证提供程序。有关详细信息,请参阅 在 Reporting Services 中配置身份验证

HTTP 503 服务不可用

在报表处理期间或首次访问报表服务器时可能产生 HTTP 503 错误:

  • 当报表服务器内存严重不足时,在卸载当前应用程序域并实例化一个新域之前,报表服务器将拒绝新的请求。请求被拒绝后,您将收到 HTTP 503 错误。如果这种情况持续出现,应执行以下操作之一:添加更多内存、将报表服务器安装移到具有更多内存的计算机上或更改内存配置设置。有关更改配置设置的详细信息,请参阅为报表服务器应用程序配置可用内存

  • 对于首次打开报表管理器或访问报表服务器时出现的 HTTP 503 错误,必须检查 HTTP.SYS 日志文件以查找错误原因的信息。默认情况下,不启用 HTTP.SYS 日志记录。使用以下指令可启用计算机上的日志记录。

如何启用 HTTP.SYS 日志记录

  1. 将下列行复制到一个文本文件中

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
    "EnableErrorLogging"=dword:00000001
    "ErrorLogFileTruncateSize"=dword:001e8480
    "ErrorLoggingDir"="\\systemroot\\System32\\Logfiles"
    
  2. 将该文件作为 .reg 文件保存到桌面。

  3. 双击该文件以应用注册表设置。

  4. 重新启动 HTTP 服务:

    1. 打开“命令提示符”窗口。如果使用的是 Windows Vista,请使用**“以管理员身份运行”**权限打开该窗口。

    2. 键入 net stop http。

    3. 停止 HTTP 服务将导致其他依赖的服务也停止。若要继续,请确认该操作。

    4. 键入 net start http。

  5. Ping 报表服务器 Web 服务,以将该请求发送到 HTTP.SYS 并生成 HTTP 503 错误。若要对 Web 服务执行 ping,请打开浏览器窗口,并在 URL 地址中键入 http://<服务器名称>/reportserver。

  6. 在文本编辑器中打开日志文件以查看相应条目。默认情况下,该日志文件位于 %windir%\system32\LogFiles。