配置用于 Internet 访问的报表服务器

更新日期: 2006 年 4 月 14 日

尽管 SQL Server Reporting Services 并非专门设计用于 Internet 报表部署方案,但是您可以成功地将 Reporting Services 放置于面向 Internet 的 Web 服务器上,以将一般信息向广大公众传播,或者将公司保密数据向经过授权和身份验证的用户传播。根据应用程序和用户需求,您可以选择下列任何一种方法:

  • 在您创建和部署的自定义 Internet 应用程序中,使嵌入报表驻留在 ReportViewer Web 服务器控件中。
  • 使用 Windows 身份验证,在 Extranet 上部署报表服务器。
  • 使用自定义身份验证,在 Extranet 上部署报表服务器。
  • 在针对 Internet 部署配置了前端服务器的 SharePoint 产品或技术的大型部署中,将报表服务器配置为作为后端服务器运行。
ms159272.note(zh-cn,SQL.90).gif注意:
尽管报表管理器未被设计为 Internet 应用程序,但您可以在面向 Internet 的 Web 服务器上创建报表管理器,然后在防火墙后面安装报表服务器和报表服务器数据库。若要在面向 Internet 的 Web 服务器上安装报表管理器,必须同时选择报表服务器和报表管理器作为功能组件。安装完成后,您可以使用 SQL Server 外围应用配置器工具禁用与报表管理器一起安装的报表服务器。然后可以将报表管理器配置为使用防火墙之后的第二个报表服务器实例。您需要在 RSWebApplication.config 文件中修改 <ReportServerVirtualDirectory> 和 <ReportServerUrl> 设置,以使报表管理器指向报表服务器实例。

使用 ReportViewer Web 服务器控件在 Internet 应用程序中承载报表

若要在 Internet 应用程序中部署报表,可以在所创建和部署的面向 Internet 的自定义应用程序中嵌入 ReportViewer Web 服务器控件。ReportViewer Web 服务器控件包括在 Visual Studio 2005 中,而且随应用程序免费分发。可以将该控件配置为显示在报表服务器上运行的报表。应用程序与报表服务器之间的连接由控件通过 Web 服务编程接口进行处理。所有的身份验证和授权都是由您的应用程序处理的,该应用程序通过单一的用户可信连接来连接到报表服务器。

ms159272.note(zh-cn,SQL.90).gif注意:
可以独立于 Reporting Services 使用 ReportViewer 控件,用于承载应用程序中提供的客户端报表定义 (.rdlc) 文件。有关详细信息,请参阅 SQL Server 联机丛书中的Reporting Services 与 Visual Studio 中的 ReportViewer 控件

在 Extranet 中部署报表服务器和报表管理器

若要在 Extranet 方案中部署报表服务器,而该方案支持通过预定义的 Microsoft Active Directory 帐户进行连接,则您可以使用默认的 Windows 身份验证安全扩展插件。请对将服务器配置为在 Internet 信息服务 (IIS) 中使用安全套接字层 (SSL) 连接和基本身份验证进行规划。

若要在 Extranet 方案中部署报表服务器,而该方案支持通过单一登录技术或基于窗体的身份验证模型(数据库中存储用户标识信息)连接时,您必须创建一个自定义身份验证扩展插件,来替换默认的 Windows 身份验证安全扩展插件。当向公共开放报表服务器,但是只希望通过身份验证的用户查看内容时,通常使用基于窗体的身份验证。默认情况下,SQL Server Reporting Services 不提供基于窗体的身份验证模块。有关如何创建一个身份验证模块的详细信息,请参阅 SQL Server 联机丛书中的Implementing a Security Extension

ms159272.Caution(zh-cn,SQL.90).gif注意:
除非您也使用自定义身份验证,否则不建议将报表服务器配置为允许匿名访问。如果您未使用自定义身份验证,但是对报表服务器启用了匿名访问,则将无法设置不同的角色分配。所有的用户都将在匿名用户帐户下访问报表服务器,而且任何人都无权通过报表管理器或 Management Studio 来管理报表服务器。您随后定义的角色分配不会因用户的不同而有所不同;对于同样的内容,所有用户均具有相同的访问权限,需要用户相关数据的报表将不会工作。

按照下列原则在同一计算机上部署报表服务器和报表管理器:

  1. 使用“仅文件”安装模式在面向 Internet 的 Web 服务器上安装 Reporting Services。在 SQL Server 安装向导中,此选项为**“安装但不配置”**选项。
  2. 保护 Web 服务器和计划用于承载报表服务器数据库的 SQL Server 数据库引擎实例间连接的安全。您可以使用 IPSec 来保护连接。
  3. 安装结束后,运行 Reporting Services 配置工具以配置报表服务器:
    1. 指定服务帐户并创建报表服务器数据库。
    2. 如果 SQL Server 实例在不同的域中,并且未启用 Kerberos 5.0 时,请使用 SQL Server 身份验证连接报表服务器数据库。
  4. 通过选择您已为 Internet 访问配置的网站,来配置报表服务器和报表管理器虚拟目录。
ms159272.note(zh-cn,SQL.90).gif注意:
在早期版本中,当在面向 Internet 的 Web 服务器上部署报表服务器实例时,您需要修改配置设置。只要报表管理器和报表服务器安装在一起,就不再需要此步骤。

在 Web.config 文件中配置代理设置

在 SQL Server 2005 中,Reporting Services 包括一个 Web.config 设置,允许报表管理器在向同一台计算机中安装的本地报表服务器发送请求时跳过代理服务器。

该 Web.config 设置是 System.NET defaultProxy 网络设置。默认情况下,对于报表管理器 defaultProxy 在 Web.config 文件中是禁用的。如果报表管理器和报表服务器部署于同一台计算机中,以上是建议的配置。

如果您是从 SQL Server 2000 Reporting Services 升级,则报表管理器 Web.config 文件不包括 defaultProxy 配置设置。对于报表管理器和报表服务器运行于同一台计算机的安装系统,您可以添加并设置 defaultProxy 设置,以跳过代理服务器。请将以下配置设置复制到报表管理器 Web.config 文件:

<configuration>
...
<system.net>
  <defaultProxy enabled="false" />
</system.net>
</configuration>

有关这些设置的详细信息,请参阅 Microsoft .NET Framework 开发人员指南中的“配置 Internet 应用程序”和“defaultProxy 元素(网络设置)”。

验证 Internet 部署

若要验证报表服务器连接是否可访问,键入 http: (or https:)//<your-web-server-fully-qualified-domain-name>/reportserver 后,通过 Internet 连接您应该可以查看报表服务器文件夹命名空间,其中 /reportserver 是报表服务器虚拟目录的默认名称。

ms159272.note(zh-cn,SQL.90).gif注意:
在面向 Internet 的 Web 服务器上部署 Reporting Services,您需要仔细地对自己的网络环境进行评估。网络和安全软件、网络拓扑和域配置可以引入变量,这些变量会导致很难为报表服务器部署规定明确的步骤。为 Internet 访问评估报表服务器时,请确保您的测试方案包括所有您希望使用的功能,并且始终使用安全连接进行测试。

在 SharePoint 产品或技术的 Internet 部署中运行报表服务器

如果您有一个针对 Internet 连接配置的 SharePoint 产品或技术实例,可以将该实例用作在 Reporting Services 报表服务器上运行的报表的前端服务器。在访问报表服务器内容和操作时,将使用您为 SharePoint 场配置的身份验证提供程序和权限。通过使用 SharePoint 安全功能,您不必在报表服务器上再使用需自行创建和部署的自定义身份验证扩展插件。此外,还消除了为 Internet 连接设置报表服务器站点的需要。有关服务器集成的详细信息,请参阅 Reporting Services 和 SharePoint 技术的集成

请参阅

概念

配置报表服务器虚拟目录
RSWebApplication 配置文件
集成安全性和提升权限
保护 Reporting Services

其他资源

部署 Reporting Services

帮助和信息

获取 SQL Server 2005 帮助