在本机模式报表服务器上配置 TLS 连接

适用范围: SQL Server 2016 (13.x) Reporting Services 及更高版本 Power BI 报表服务器

Reporting Services 本机模式使用 HTTP TLS(传输层安全性)服务建立到 Report Server 的加密连接。 TLS 旧称为“安全套接字层 (SSL)”。 如果在报表服务器计算机上的本地证书存储中安装了证书 (.cer) 文件,则可以将证书绑定到 Reporting Services URL 预留,以支持通过加密通道建立报表服务器连接。

提示

有关 Reporting Services SharePoint 模式的详细信息,请参阅 SharePoint 文档。 例如,如何在 SharePoint 2010 Web 应用程序上启用 TLS

由于 Internet 信息服务 (IIS) 也使用 HTTP TLS,因此在同一计算机上运行 IIS 和 Reporting Services 时,必须考虑到一些重要的互操作性问题。 请务必查看“与 IIS 的互操作性问题”部分以获取有关如何解决这些问题的指南。

服务器证书要求

你必须在计算机上安装服务器证书(不支持客户端证书)。 Reporting Services 不提供用于请求、生成、下载或安装证书的功能。 Windows Server 2012 和更高版本提供可用于从可信证书颁发机构请求证书的证书管理单元。

出于测试目的,可以在本地生成证书。 如果将 MakeCert 实用工具和示例命令用作模板,请确保在运行该命令之前将服务器名称指定为主机并删除所有换行符。 如果在 DOS 窗口中运行命令,则可能需要增加窗口的缓冲区大小以容纳整条命令。

如果正在同一台计算机上一起运行 IIS 和 Reporting Services,则可以使用 IIS 管理器控制台应用程序获取计算机上安装的证书。 IIS 管理器包含可用于创建和打包证书请求 (.crt) 文件的选项,以便可信证书颁发机构进行后续处理。 你使用的证书颁发机构将生成一个证书 (.cer) 文件,并将它发送回给你。 您可以使用 IIS 管理控制台在本地存储区中安装该证书文件。 有关详细信息,请参阅使用 SSL 加密机密数据

与 IIS 的互操作性问题

如果同一计算机上同时有 IIS 和 Reporting Services,则会严重影响与报表服务器的 TLS 连接:

  • 如果安装了 IIS,则必须始终运行万维网 (W3SVC) 服务。 如果 HTTP TLS 服务检测到 IIS 正在运行,则会生成 IIS 的一个依赖项。 此依赖项意味着,只要 IIS 和 Reporting Services 安装在同一计算机上,且你要为报表服务器 URL 配置 TLS 连接,万维网服务 (W3SVC) 就必须处于运行状态。

  • 卸载 IIS 可能会暂时中断服务连接到与 TLS 绑定的报表服务器 URL。 因此,你应在卸载 IIS 后重启计算机。

    必须重新启动计算机,才能从缓存中清除所有 TLS 会话。 一些操作系统最长可以将 TLS 会话缓存 10 小时,导致 https:// URL 继续有效,即使在从 HTTP.SYS 的 URL 预留中删除 TLS 绑定后,也继续有效。 重新启动计算机会关闭使用通道的所有已打开的连接。

将 TLS 绑定到 Reporting Services URL 预留

下列步骤不包括有关请求、生成、下载或安装证书的说明。 证书必须已安装并可供使用。 指定的证书属性、从中获取证书的证书颁发机构以及用于请求和安装证书的工具和实用工具都由您决定。

可以使用 Reporting Services 配置工具绑定证书。 如果在本地计算机存储区正确安装了证书,则 Reporting Services 配置工具将检测到该证书并将它显示在“Web 服务 URL”页和“Web 门户 URL”页上的“SSL 证书”列表中。

为报表服务器 URL 配置 TLS 的具体步骤

  1. 启动 Reporting Services 配置工具,然后连接到报表服务器。

  2. 选择“Web 服务 URL” 。

  3. 展开 TLS/SSL 证书列表。 Reporting Services 将在本地存储区中检测服务器身份验证证书。 如果已安装证书,但在列表中看不到该证书,则可能需要重新启动服务。 可以使用 Reporting Services 配置工具中“报表服务器状态” 页的“停止” 和“启动” 按钮重启服务(首页)。

  4. 选择证书。

  5. 选择“应用”。

  6. 选择该 URL,验证其是否有效。

报表服务器数据库配置是测试 URL 所必需的。 如果你尚未创建报表服务器数据库,请在测试 URL 之前先创建该数据库。

Web 门户 URL 和报表服务器 Web 服务 URL 的 URL 预留都是单独配置的。 如果还要为 Web 门户配置通过 TLS 加密的通道进行访问,请继续执行以下步骤:

  1. 访问“Web 门户 URL” 。

  2. 选择“高级”。

  3. 在“当前 Reporting Services 功能的多个 HTTPS 标识” 中,选择“添加” 。

  4. 选择证书,选择“确定”,然后选择“应用”

  5. 测试该 URL,验证其是否有效。

证书绑定的存储方式

证书绑定存储在 HTTP.SYS 中。 已定义的绑定的表示形式将存储在 RSReportServer.config 文件的 URLReservations 部分。 配置文件中的设置只是在其他地方指定的实际值的表示形式。 请不要直接在该配置文件中修改这些值。 仅当你使用 Reporting Services 配置工具或报表服务器 Windows Management Instrumentation (WMI) 提供程序绑定证书后,才会在文件中显示配置设置。

注意

如果在 Reporting Services 中为绑定配置 TLS/SSL 证书,但稍后又想要从计算机中删除证书,请务必先从 Reporting Services 中删除绑定,再从计算机中删除证书。 否则,将无法使用 Reporting Services 配置工具或 WMI 删除绑定,并且将出现“参数无效”错误。 如果已从计算机删除了证书,则可以使用 Httpcfg.exe 工具从 HTTP.SYS 删除绑定。 有关 Httpcfg.exe 的详细信息,请参阅 Windows 产品文档。

TLS 绑定是 Microsoft Windows 中的共享资源。 Reporting Services 配置管理器或诸如 IIS 管理器之类的其他工具所做的更改可能会影响同一计算机上的其他应用程序。 编辑绑定所用的工具最好与创建绑定所用的工具相同。 例如,如果使用配置管理器创建了 TLS 绑定,则你应使用配置管理器来管理绑定的生命周期。 如果使用 IIS 管理器来创建绑定,则你应使用 IIS 管理器来管理绑定的生命周期。 如果在 Reporting Services 安装前在计算机上安装了 IIS,最好在配置 Reporting Services 前审阅 IIS 中的 TLS 配置。

如果使用报表服务器配置管理器删除了 Reporting Services 的 TLS 绑定,则 TLS 可能对正在运行 Internet Information Services (IIS) 的服务器或其他 HTTP.SYS 服务器上的网站不再有效。 Reporting Services 配置管理器删除以下注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslBindingInfo\0.0.0.0:443 如果此注册表项被删除,IIS 的 TLS 绑定也会随之删除。 如果没有此绑定,将不为 HTTPS 协议提供 TLS。 若要诊断此问题,请使用 IIS 管理器或 HTTPCFG.exe 命令行实用工具。 若要解决此问题,请使用 IIS 管理器还原网站的 TLS 绑定。 为了防止将来出现此问题,请先使用 IIS 管理器来删除 TLS 绑定,再使用 IIS 管理器来还原相应网站的绑定。 有关详细信息,请参阅知识库文章使用 Reporting Services 配置管理工具从 SQL Server 2008 Reporting Services 中删除 SSL 绑定后,SSL 将不再工作