zoukankan      html  css  js  c++  java
  • 请求被中止: 未能创建 SSL/TLS 安全通道 解决方案

    最近项目改造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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    本文如对您有帮助,还请多帮 【推荐】 下此文。
    如果喜欢我的文章,请关注我的公众号

  • 相关阅读:
    SpringMVC注解控制器详解
    在自己的服务器上安装GitBook
    基于UDP协议的网络编程
    RabbitMQ安装使用详解
    Python3.4 + Django1.7.7 搭建简单的表单并提交
    暴力枚举 UVA 10976 Fractions Again?!
    暴力枚举 UVA 725 Division
    思维 UVALive 3708 Graveyard
    DFS(剪枝) POJ 1011 Sticks
    DFS+模拟 ZOJ 3861 Valid Pattern Lock
  • 原文地址:https://www.cnblogs.com/bigbrid/p/15002622.html
Copyright © 2011-2022 走看看