You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用TLS 1.2后访问SSRS管理时无客户端证书可选问题求助

SSRS管理端访问报错:“无客户端证书可选” 解决思路

针对你遇到的这个问题,结合我之前处理类似场景的经验,先明确下你的核心场景:

  • 环境:SQL Server 2008 R2 SP3 Reporting Services 运行在 Windows Server 2008 上,已安装 .Net 4.6.1 并启用 .Net 3.5 功能;IIS、数据库、报表服务均部署在本地(自定义登录URL在另一机器,暂时不影响当前问题)
  • 触发操作:通过 IISCrypto 仅启用了 TLS 1.2
  • 问题现象:访问报表服务管理端时弹出 “访问SSRS管理时无客户端证书可选” 的错误

下面是几个优先级较高的排查和解决步骤:

1. 先检查IIS的SSL客户端证书设置

这是最容易踩坑的点:

  • 打开IIS管理器,找到SSRS对应的站点(一般叫ReportServer或Reports),右键进入「SSL设置」
  • 看看「客户端证书」选项是不是设成了「要求」——如果是,直接改成「忽略」或者「接受」就行。TLS 1.2启用后,有时候会不小心触发这个强制要求的配置,导致浏览器弹出证书选择框但没有可选证书。

2. 核对SSRS自身的URL配置

打开「Reporting Services配置管理器」,分别检查「Web服务URL」和「报表管理器URL」:

  • 确认是否勾选了「要求安全连接(SSL)」,如果之前没启用过客户端证书验证,建议先取消这个选项试试,或者调整为允许但不强制要求客户端证书。
  • 同时检查绑定的SSL证书,确保它支持TLS 1.2(比如签名算法是SHA256及以上),旧的SHA1证书可能和TLS 1.2不兼容。

3. 给SQL Server 2008 R2补TLS 1.2支持补丁

SQL Server 2008 R2 SP3本身对TLS 1.2的支持是不完整的,即使装了.Net 4.6.1,SSRS服务还是可能无法正确适配TLS 1.2:

  • 安装KB3135244补丁,这个是微软官方针对SQL Server 2008 R2的TLS 1.2支持补丁,能让SSRS等组件正常使用TLS 1.2协议。
  • 之后修改SSRS的服务配置文件ReportingServicesService.exe.config(默认路径在C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin),在<runtime>节点里加一段配置,强制SSRS调用.Net 4.6.1的TLS支持:
    <runtime>
      <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=false"/>
      <!-- 保留原有assemblyBinding等配置 -->
    </runtime>
    

4. 确认IISCrypto的配置生效

用IISCrypto修改协议后,别只重启服务,最好直接重启整个服务器,让TLS 1.2的配置完全生效。另外检查下加密套件,确保没有禁用TLS 1.2必需的套件,不然也可能出现奇怪的证书相关报错。

内容的提问来源于stack exchange,提问作者Ignacio Soler Garcia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:53:16