.net - 为什么我不能为 Sql Server Reporting Services 强制使用 SSL?

标签 .net sql-server-2008 ssl reporting-services socketexception

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

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

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

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

有什么想法吗?

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

有什么新想法吗?

最佳答案

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

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

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

用这个:

<AuthenticationTypes>
  <RSWindowsBasic/>
</AuthenticationTypes>

现在一切正常。

关于.net - 为什么我不能为 Sql Server Reporting Services 强制使用 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/981573/

相关文章:

java - HTTPs HTTPURLConnection 问题

c# - 混淆硬编码的许可证 key

c# - 将表单数据 NameValueCollection 转换为对象

sql - 查找没有数据的表

为不是函数的对象 'Firm' 提供的 SQL 参数

java - 服务器库存的 key 生成器

C#/.NET - 如何自动生成和增加包版本,尤其是通过 CI?

.net - 模糊 WPF 容器的背景

xml - SQL 服务器 2008 : Modify xml replacing an attribute value with a value of a column

visual-studio - IIS 中的 SSL 证书