• 周四. 6月 30th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

请求被中止: 未能创建 SSL/TLS 安全通道 解决方案

admin

11月 28, 2021

最近项目改造https,有部分请求出现“请求被中止: 未能创建 SSL/TLS 安全通道”。

原因应该是,接口方变更了安全协议,而客户端并未启用该协议。

解决办法自然就是:让客户端启用该协议。具体就是在发起网络请求之前确保ServicePointManager.SecurityProtocol中含有服务端所用的安全协议,如果不知道或希望客户端健壮一点,当然最简单的方式就是把所有可用的协议都启用,随你服务端将来怎么换。代码如下:

if (url.ToLower().StartsWith("https"))
 {
   ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 
              | SecurityProtocolType.Tls
              | SecurityProtocolType.Tls11
              | SecurityProtocolType.Tls12; }

上线后,发现部分接口请求还是会出现上面问题。

经过分析发现,

1.都是同一套架构,不会存在配置或其他问题。

2.接口有时可以有时不可以(初步怀疑有节点没部署上)

3.分析日志发现大部分都是请求时间长的接口返回的。

结论:

如果请求超时
http请求,会返回——> GatewayTimeout
https请求会返回——> 请求被中止: 未能创建 SSL/TLS 安全通道。


作者:taoz

出处:www.cnblogs.com/bigbrid

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


本文如对您有帮助,还请多帮 【推荐】 下此文。

如果喜欢我的文章,请关注我的公众号

发表评论

您的电子邮箱地址不会被公开。