我尝试使用 SSL 配置 SSRS,当我尝试通过 Reporting Services 配置管理器添加 SSL 证书时,出现以下错误; Microsoft.ReportingServices.WmiProvider.WMIProviderException:指定的 IP 地址和端口组合已存在 HTTPS 绑定。现有绑定使用与当前请求不同的证书。每个 IP 地址和端口组合只能使用一个证书。要解决此问题,请使用与现有绑定相同的证书,或者删除现有的 SSL 绑定并使用当前请求的证书创建新的绑定。
Web 服务 URL 或 Web 门户 URL 配置中没有现有证书,因此开始寻找... 我发现 SSRS SSL 将绑定到 ipport=0.0.0.0:443
当我跑步时;
netsh http show sslcert ipport=0.0.0.0:443
我确实发现有一个证书;
IP:port : 0.0.0.0:443
Certificate Hash : 37ae2ab1e2968f04bacdcb43e1ce3597da208b8d
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
Reject Connections : Disabled
Disable HTTP2 : Not Set
我尝试通过各种 powershell 命令查找有关此证书的更多信息,但我找不到任何参考。我从以下搜索结果;
netsh http show sslcert
Get-ChildItem Cert:\ -Recurse
certutil -store My
certutil -store Root
certutil -store Trust
certutil -store CA
certutil -store Request
certutil -store OtherPeople
certutil -store AuthRoot
certutil -store TrustedPeople
我在整个注册表中搜索了证书哈希,但一无所获。 我使用 MMC 在“本地计算机”和“当前用户”中搜索了哈希值
我知道我能跑;
netsh http delete sslcert ipport=0.0.0.0:443
清除错误,但我担心我会破坏某些东西。此时我已经超出了我的“专业”深度。该服务器运行 SQL Server 2016、为大约 10 个网站提供服务的 IIS、Sql Server Reporting Services 和其他几个关键业务服务。是在 Azure 上运行的 Windows 域的一部分。
我怀疑该证书位于服务帐户存储之一中?
如何找到有关此证书的信息,例如到期日期、颁发机构等,以便我更有信心可以安全地删除它? 或者我是否过于谨慎......如果我删除然后立即将证书绑定替换为 ipport=0.0.0.0:443,这样可以吗?
谢谢。
我已经解决了这个问题。我找到了以下链接;
https://businesswintelligence.com/content/60/troubleshooting-ssl-binding-ssrs
佩德罗·萨利纳斯-鲁伊斯评论;
通常,当您在解除绑定之前删除证书时会发生这种情况(无论如何,根据我的轶事经验)。解决方案非常简单。您手动删除绑定。
netsh http delete sslcert ipport=0.0.0.0:443
netsh http delete sslcert ipport=[::]:443
该评论解释了问题是如何产生的,并让我有信心运行删除命令。然后可以添加新的证书而不会出现错误。