当前位置:  开发笔记 > 编程语言 > 正文

为SSL配置SSRS

如何解决《为SSL配置SSRS》经验,为你挑选了1个好方法。

我有一个运行SSRS 2014的SSRS实例,我希望将其配置为通过SSL使用.

该服务器位于http://reports.mydomain2.com

我从域名www.mydomain.com上购买了GoDaddy的多SSL证书,并将reports.mydomain2.com添加为SAN

我从GoDaddy生成SSL证书和IIS一样,将证书导入中间证书颁发机构和个人/证书 在此输入图像描述 在此输入图像描述

我启动了SSRS配置管理器,我正在尝试设置SSL我看到了证书,但是当我选择它并单击Apply我得到错误,SSL证书无法绑定

在此输入图像描述

显示的错误是

Microsoft.ReportingServices.WmiProvider.WMIProviderException: An unknown error has occurred in the WMI Provider. Error Code 80070520

 ---> System.Runtime.InteropServices.COMException (0x80070520): A specified logon session does not exist. It may already have been terminated. (Exception from HRESULT: 0x80070520)
   --- End of inner exception stack trace ---
   at Microsoft.ReportingServices.WmiProvider.RSWmiAdmin.ThrowOnError(ManagementBaseObject mo)
   at Microsoft.ReportingServices.WmiProvider.RSWmiAdmin.CreateSSLCertificateBinding(String application, String certificateHash, String ipAddress, Int32 port)
   at ReportServicesConfigUI.WMIProvider.RSReportServerAdmin.CreateSSLCertificateBinding(UrlApplication app, String certificateHash, String ipAddress, Int32 port)

我用命令检查了绑定

netsh http show urlacl

我在443号港口找到了一个条目

Reserved URL            : https://+:443/sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/
    User: NT SERVICE\SstpSvc
        Listen: Yes
        Delegate: Yes
    User: BUILTIN\Administrators
        Listen: No
        Delegate: No
    User: NT AUTHORITY\SYSTEM
        Listen: Yes
        Delegate: Yes
        SDDL: D:(A;;GA;;;S-1-5-80-3435701886-799518250-3791383489-3228296122-2938884314)(A;;GR;;;BA)(A;;GA;;;SY) 

我不知道这是否有任何区别(如果端口443已经绑定,阻止它绑定到SSRS url或不

但另一个可能的问题可能是SSRS配置管理器不允许我将SSL绑定的URL更改为reports.mydomain2.com.但它试图绑定到证书的默认域.

知道什么可能是错的,我该如何解决?



1> bzamfir..:

我找到了解决方案,希望它能帮助别人.

从GoDaddy下载的证书不包含私钥.这是创建证书绑定错误的原因.为了解决这个问题,我必须在我在IIS中生成初始CSR的机器上导出带有私钥的证书(我还导出了所有扩展属性,以防万一)

所以我的步骤如下:

    在我生成CSR的机器上,我导入从证书颁发机构收到的证书.

    在同一台机器上,我将带有私钥和扩展属性的证书导出到.pfx

    在SSRS机器上,我导入了导出的证书

    启动SSRS配置管理器,在"Web服务URL"部分中,选择新导入的证书,然后单击" 应用"

    如果生成的证书的URL与SSRS服务器的DNS完全匹配,则应该完成.

    如果证书的URL与SSRS DNS名称不匹配(但报告服务器的URL上有SAN,您将看到SSRS配置管理器中选择的SSL证书设置为"未知",ssl URL也设置为"未知". SSRS显示证书和SSL URL未知

    打开SSRS配置文件,RsReportServer.config,并编辑UrlReservations的条目,为SSL设置所需的URL


  
      ReportServerWebService
      ReportServer
      
          
              https://reports.mydomain2.org:443
              ....
              NT Service\ReportServer
          
          
              http://+:80
              ....
              NT Service\ReportServer
          
      
  
  
      ReportManager
      Reports
      
          
              http://+:80
              ....
              NT Service\ReportServer
          
          
              https://reports.mydomain2.org:443
              ....
              NT Service\ReportServer
          
      
  

您必须添加或编辑https的条目(您将在端口80上找到http的条目,您不应该更改),并使用端口80上的条目中的AccountSid获取ssl上的新条目

    运行以下命令以查找所有有界URL.您必须找到报告服务器的URL,并记下SDDL,这在为报告服务器创建SSL URL时将需要.

    netsh http show urlacl
    

    删除SSRS配置管理器创建的有界URL,该URL指向错误的URL(为其创建证书的主URL)

    netsh http delete urlacl url=https://www.mydomain1.org:443/ReportServer
    netsh http delete urlacl url=https://www.mydomain1.org:443/Reports
    

    运行以下命令为报表服务器添加正确的URL.我们需要使用绑定到端口80的报告服务器的entro中找到的SSDL(参见上面的第8点)

    netsh http add urlacl url=https://reports.mydomain2.org:443/ReportServer user="NT Service\ReportServer" listen=yes sddl=<....>
    netsh http add urlacl url=https://reports.mydomain2.org:443/Reports user="NT Service\ReportServer" listen=yes sddl=<....>
    

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有