【问题标题】:Getting "Could not create SSL/TLS secure channel." on Windows Server 2012 R2获取“无法创建 SSL/TLS 安全通道。”在 Windows Server 2012 R2 上
【发布时间】:2021-06-29 23:43:37
【问题描述】:

以下代码在我的开发工作站(Windows 10 Pro)上运行良好,在 Visual Studio 中运行。正如您可能从命名约定中猜到的那样,我正在使用 WebClient 发布到远程 https:// 端点。

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
resp = m_WebClient.UploadValues(m_WebClient.BaseAddress, "POST", postParams);

但是,当我将它部署到我的生产服务器(Windows Server 2012 R2 Datacenter - 它是一个 Azure VM)时,我捕获了以下异常:

The request was aborted: Could not create SSL/TLS secure channel.
at System.Net.WebClient.UploadValues(Uri address, String method, NameValueCollection data)
at System.Net.WebClient.UploadValues(String address, String method, NameValueCollection data)
at rater8.ReviewShake.Request.Processor.TryGetRESTApi(Int32 CompanyId, String ScrapeString, String LastJobId, String& Response)

我知道我能够从我的生产服务器与远程服务器进行通信,因为我已经从生产服务器执行了 Postman 中的调用。我收到 200 - 好的。我知道远程服务器坚持使用 TLS1.2,因为如果我在 Postman 中禁用该协议,调用将失败。

这是几天前一直在运行的生产代码。我会联系供应商,但支持可能参差不齐。与此同时,有没有人有任何想法?为了在 Windows Server 2012 上启用此功能,我需要在操作系统级别进行配置吗? (我确实在运行 Windows 更新。)谢谢!

自发帖以来,我积累了两个额外的事实:

  1. 切换到 HttpWebRequest 没有任何积极影响。
  2. 将可执行文件移至另一台 Windows 10 Pro 机器确实有积极作用,连接已成功建立。

因此,导致此问题的关键因素组合是 Windows Server 2012 R2 和我的 C# 代码(WebClient 或 HttpWebRequest)的组合。回想一下,Postman 能够从 Windows Server 建立通信,因此这本身不是问题。一定是一些深奥的握手问题,但我的想法已经不多了。感谢您提供的任何建议!

【问题讨论】:

  • 我相信这与密码套件不匹配有关。抱歉,我无法给出确切的答案。我启动了一个 Windows 2019 Server 来托管这项服务,每月 66 美元,问题就解决了。回顾一下,可以从 Windows 10 和 Windows 2019 Server 建立连接,但 2012 Server R2 上的 SChannel 配置似乎无法连接。如果供应商回复我的询问,我会在此处发布他们的回复。

标签: webclient tls1.2 windows-server-2012-r2


【解决方案1】:

目前正在处理同样的事情。我们在 2012 R2 服务器上运行 Web api 调用,它可以正常工作,但突然之间,它在您发帖时停止工作。

我认为这是 Microsoft 的错误,但这里是我正在测试的当前解决方案。

  1. 尝试另一个服务器安装版本,我们注意到它与 2016 年的服务器一起工作
  2. 我注意到这个问题通常是在微软发布新的 VS 2019 更新时出现的,也许尝试其他编辑器或降级您的 vs2019 ide?​​li>
  3. 也许可以尝试将 .NET 框架版本降级到更稳定的版本。

这些是我目前正在测试的东西,但最确定的工作是安装 2016 年服务器或 2019 年。在解决问题之前短期内启动新服务器安装,可能只是你的胡同。

编辑:
目前,迁移到更新的服务器似乎已经解决了这个问题。

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多