为什么我不能为 Sql Server Reporting Services 强制使用 SSL?
我正在尝试在 Windows Server 2008 上设置 SSRS 2008。当我通过 HTTP 访问 Web 界面时,它似乎按预期工作,但是当使用 HTTPS 时,我得到以下错误:“底层连接已关闭:发生意外错误正在发送。”
从日志文件中可以看出,内部异常是“System.Net.Sockets.SocketException:现有连接被远程主机强制关闭”。 这让我认为错误是在从报表管理器到 Web 服务的服务调用期间发生的。
我已使用我自己的 CA 证书签名的证书,在非默认端口 (8091) 上配置了 Web 服务和报表管理器的 SSL 绑定。 服务器证书安装在 IIS7 中(并由其使用),并且 CA 证书添加到“本地计算机”证书存储上的“受信任的根证书颁发机构”中。
如果客户端应用程序是我自己的 .NET 应用程序,则在网上搜索特定错误消息可以为我提供大量有关如何处理问题的信息。 最流行的解决方案似乎是将属性“ServicePointManager.SecurityProtocol”设置为“SecurityProtocolType.Ssl3”,但我想当客户端是预编译的 Web 应用程序(报告管理器)时,我不可能这样做。
有任何想法吗?
更新:请求现在失败,HTTP状态为401:未经授权。”日志文件中的堆栈跟踪告诉我异常发生在SoapHttpClientProtocol.ReadResponse处,我希望它“稍后”出现在SOAP中- 处理比我之前的错误
有新的想法吗?
I am trying to setup SSRS 2008 on Windows Server 2008. It seems to work as expected when I access the web interface through HTTP, but when using HTTPS the following error is what I get: "The underlying connection was closed: An unexpected error occurred on a send."
From a look at the log files, it is revealed that the inner exception is "System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host". This makes me think, that the error occurs during a service call from the Report Manager to the web service.
I have configured both the web service and the Report Manager with an SSL-binding on a non-default port (8091), using a certificate signed using my own CA certificate. The server certificate is installed in (and used by) IIS7, and the CA certificate is added to "Trusted Root Certificate Authorities" on the "Local Computer" certificate store.
Searching the net for the specific error message(s) gives me a lot of information on how to deal with the problem, if the client application is my own .NET application. The most prevalent solution seems to be about setting the property "ServicePointManager.SecurityProtocol" to "SecurityProtocolType.Ssl3", but I guess that is not possible for me to do when the client is a precompiled web application (Report Manager).
Any ideas?
UPDATE: Requests now fail with HTTP status 401: Unauthorized." The stack trace in the log file tells me that the exception occurs at SoapHttpClientProtocol.ReadResponse, which I would expect to be "later" in the SOAP-processing than the error I had before.
Any new ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此处找到了此问题的解决方案: http://prologika.com/CS/ forums/t/946.aspx
在 rsreportserver.config 中,我已将此部分替换
为
:现在一切正常。
A solution to this problem has been found here: http://prologika.com/CS/forums/t/946.aspx
In rsreportserver.config I have replaced this section:
with this:
and everything now works.