代码之家  ›  专栏  ›  技术社区  ›  Jørn Schou-Rode dscher

为什么我不能为SQL Server Reporting Services强制使用SSL?

  •  4
  • Jørn Schou-Rode dscher  · 技术社区  · 15 年前

    我正在尝试在Windows Server 2008上安装SSRS 2008。当我通过HTTP访问Web界面时,它看起来像预期的那样工作,但是当使用HTTPS时,我得到以下错误:“基础连接已关闭:发送时发生意外错误。”

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

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

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

    有什么想法吗?

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

    有什么新点子吗?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Jørn Schou-Rode dscher    15 年前

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

    在rsreportserver.config中,我替换了以下部分:

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

    用这个:

    <AuthenticationTypes>
      <RSWindowsBasic/>
    </AuthenticationTypes>
    

    现在一切都正常了。

        2
  •  1
  •   AviD    15 年前

    退房 this link 帮助我缩小了我的问题范围(我想这和你的不同)。