4

我正在尝试在 Windows Server 2008 上设置 SSRS 2008。当我通过 HTTP 访问 Web 界面时,它似乎按预期工作,但是在使用 HTTPS 时,我得到以下错误:“底层连接已关闭:发生意外错误在发送中。”

从日志文件中可以看出,内部异常是“System.Net.Sockets.SocketException:现有连接被远程主机强行关闭”。这让我想到,错误发生在从报表管理器到 Web 服务的服务调用期间。

我已经使用使用我自己的 CA 证书签名的证书在非默认端口 (8091) 上配置了具有 SSL 绑定的 Web 服务和报表管理器。服务器证书安装在 IIS7 中(并由其使用),并且 CA 证书被添加到“本地计算机”证书存储中的“受信任的根证书颁发机构”中。

如果客户端应用程序是我自己的 .NET 应用程序,则在网络上搜索特定的错误消息给了我很多关于如何处理问题的信息。最流行的解决方案似乎是将属性“ServicePointManager.SecurityProtocol”设置为“SecurityProtocolType.Ssl3”,但我想当客户端是预编译的 Web 应用程序(报表管理器)时,我不可能这样做。

有任何想法吗?

更新:请求现在失败,HTTP 状态 401:未授权。” 日志文件中的堆栈跟踪告诉我,SoapHttpClientProtocol.ReadResponse 发生异常,我希望在 SOAP 处理中比我遇到的错误“晚”前。

有什么新想法吗?

4

1 回答 1

2

已在此处找到此问题的解决方案:http: //prologika.com/CS/forums/t/946.aspx

在 rsreportserver.config 我已经替换了这一部分:

<AuthenticationTypes>
  <RSWindowsNegotiate/>
  <RSWindowsNTLM/>
</AuthenticationTypes>

有了这个:

<AuthenticationTypes>
  <RSWindowsBasic/>
</AuthenticationTypes>

现在一切正常。

于 2009-07-01T19:44:48.880 回答