SQL Server Reporting Services:来自 API 的外部图像未加载到报告中

问题描述

我们有一份内部 SSRS 报告,我们最近对其进行了更新,以使用新的 API 来替代用于显示图像的现有服务。原始 API 托管在内部,而新服务托管在我们的新 Azure 环境中。我们更新了 SSRS 报告以利用新服务并可以在我们的本地开发环境中运行该报告,但是当我们部署到我们的临时服务器(在 Windows 2012 R2 机器上运行 sql 2014)时,图片无法加载,我们发现SSRS 日志文件中出现以下错误(出于安全原因,我已删除了 URL):

An error occurred retrieving the external resource The underlying connection was closed: An unexpected error occurred on a send.

在进行 Wireshark 捕获后,我们发现 SSRS 正在使用 TLSv1 启动与 API 的连接,而在服务器上的浏览器中调用相同的 API URL(可以很好地呈现图像)使用的是 TLSv1.2。我可以看到服务器上启用了 TLSv1.2,但如何强制 SSRS 在运行此报告并访问新 API 时使用它?

解决方法

因此,了解了如何执行此操作,结果发现需要进行一些简单的注册更新以强制 SSRS 通过 TLSv1.2 进行通信。本教程帮助了我,主要是处理 SSRS/SQL 服务器的第 3 节:https://techcommunity.microsoft.com/t5/sql-server-support/enable-tls-1-2-protocol-for-reporting-services-with-custom-net/ba-p/318825