环境:
Reporting Services 在 Windows 2008 服务器上的 SQL Server 2008 R2 SP3 安装上运行,其中安装了 .Net 4.6.1 并启用了 .Net 3.5 功能。IIS、数据库和报告服务都在本地计算机上(自定义登录 URL 在不同的计算机上,但似乎这无关)。
已完成的更改:
由于安全原因,我们被迫转向 TLS 1.2,因此我们使用 IISCrypto 启用了 TLS 1.2
结果:
从此刻起,只有在尝试访问报告管理站点时我们才会收到错误:
底层连接已关闭:接收时发生意外错误
在 SSRS 日志中我们可以看到以下异常:
系统.Net.Web异常:底层连接已关闭:接收时发生意外错误。---> 系统.组件模型.Win32异常:客户端和服务器无法通信,因为它们没有通用算法
在 .Net Framework 上启用跟踪我发现以下消息:
System.Net Information: 0 : [4996] SecureChannel#40644060::.ctor(hostname=localurl,#clientCertificates=0)
System.Net Information: 0 : [4996] Enumerating security packages:
System.Net Information: 0 : [4996] Negotiate
System.Net Information: 0 : [4996] Kerberos
System.Net Information: 0 : [4996] NTLM
System.Net Information: 0 : [4996] Schannel
System.Net Information: 0 : [4996] Microsoft Unified Security Protocol Provider
System.Net Information: 0 : [4996] WDigest
System.Net Information: 0 : [4996] DPA
System.Net Information: 0 : [4996] Digest
System.Net Information: 0 : [4996] MSN
System.Net Information: 0 : [4996] PWDSSP
System.Net Information: 0 : [4996] SecureChannel#40644060 - Left with 0 client certificates to choose from.
已经检查过的事情:
正在使用的证书仍然有效,并且其签名链被放置在适当的“中间”和“根”存储中。
以管理员身份运行应用程序池没有帮助。
使用从 IIS 生成的自定义签名证书没有帮助。
重要的:该问题仅发生在 Reporting Services 管理站点上,报告运行正常
下一步
还有什么想法可以尝试吗?有没有办法知道为什么没有选择安全包?