请求被中止:无法创建 SSL/TLS 安全通道。| 系统.Net.WebException

Las*_*iya 1 c# ssl virtual-machine azure asp.net-web-api

我的 webApi 在其中使用第三方 Web api 服务。问题是它在我的本地计算机和 Azure Web 服务中完美运行。但是当我将此解决方案转移到 Azure Vm 实例时,出现此错误。我已经安装了与第 3 方 Web api 相关的正确证书并注册了 HttpClient 并尝试了

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11;
Run Code Online (Sandbox Code Playgroud)

但它给出了同样的错误。我不知道确切的错误是什么。有人可以帮忙解决这个问题吗?

Bru*_*hen 5

根据我的理解,您可以参考以下方法来排查这个问题:

1.利用https://www.ssllabs.com/ssltest/检查您方和第三方 Web API 支持的协议,如下所示:

2.配置SecurityProtocol如下ServerCertificateValidationCallback

ServicePointManager.Expect100Continue = true;
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
            | SecurityProtocolType.Tls11
            | SecurityProtocolType.Tls12
            | SecurityProtocolType.Ssl3;
Run Code Online (Sandbox Code Playgroud)

另外,您可以参考类似的issue1issue2了解更多详细信息。