好的。我在 Internet 上搜索了有关尝试解决此问题的信息,但没有发现任何与我的情况有关的信息。我从这里开始,这导致我到这里,这导致我查看用于 HTTP 的 netsh 命令。
了解:使用 HTTP/80 访问报表管理器或 Web 服务,我没有任何问题。
我的问题是严格让 HTTPS/443 工作并打开与 HTTP/80 使用的完全相同的页面。我得到的只是HTTP Error 404
。
- SQL 和 SSRS 的内部版本号:
10.50.4270.0
- 我的证书已安装在服务器上
- Windows 防火墙已禁用,但我只是想在服务器上本地启动 HTTPS
- 我已按照 Microsoft 在 RSCM 中的指示配置了所有内容。
- SSL 配置已通过 RSCM 完成,并使用该 URL 尝试访问
- 我已经验证
netsh
SSL 证书绑定在 IP:端口 443 上。 - 下面的注册表项
HKLM:\SYSTEM\CurrentControlSet\services\HTTP\Parameters\SslBindingInfo
存在于0.0.0.0:443
. - In
netsh
show iplisten
没有显示任何内容,所以 Iadd iplisten ipaddress=0.0.0.0
,但这并没有影响任何事情 - 在我
rsreportserver.config
的范围内SecureConnectionLevel
设置为value="0"
我被卡住了,我在这里想做什么或检查什么?
编辑
我刚刚在全新的服务器上完成了全新安装,结果相同。
问题与 SSRS 使用的证书有关。如果您的证书是使用 创建的
hostname.whatever.com
,则您只能通过该路径访问报告 URL,https: //hostname.whatever.com/Reports
。如果您尝试https:// 10.xxx.xxx.xxx/Reports
(其中 IP 是服务器上的 IP),您将收到 404 错误。所以针对我的情况进行了修复:
我发现用于在服务器上生成证书的友好名称被隐藏了。我正在将其修复为正在使用的服务器的正确完全限定 DNS 名称。我通过在服务器上安装 SQL Server Report Server 发现了这一点,该服务器使用所用服务器的正确名称创建了证书。
一旦我更正了该证书并进行了验证,就会将其标记为正确答案。
编辑 在尝试更改证书时出现了另一个问题。在我从 RSCM 中正确删除证书之前,服务器的管理员删除了它。所以现在它不会绑定到新证书,因为它已经看到一个绑定了。由于您无权访问 IIS(SSRS 使用 HTTP.sys),因此确实没有干净、简单的方法可以解决此问题。因此,按照此 KB,您必须进入 NETSH 以删除绑定。您会在那篇知识库文章中注意到 NETSH 的链接没有提供太多信息,所以请使用这个. 我必须使用以下两个命令来删除 Window Server 2008 R2 上的绑定: 警告:我在一个独立的服务器上。如果您在服务器场中或运行多个 SSRS 实例,请务必小心删除哪个 SSL 绑定。
我这样做了,然后进入 RSCM 并选择了安装在服务器上的新证书。但这还没有结束,由于某种原因,它一直在删除绑定并在链接中显示“未知”。我停止了 SSRS,然后打开了 rsreportserver.config 文件,发现旧的(“坏的”)绑定仍然显示在配置文件中。我删除了回到 RSCM 并启动了服务,它似乎修复了它。