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

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

  • 相关阅读:
    tar.gz 查看原文件大小
    ssh2 和 ssh 的公钥转换
    MySQL binlog 导入
    app自动测试-微信(android)-web-1
    crontab中执行java程序的脚本
    tomcat 启动慢解决(/dev/random)
    app自动测试-微信(iOS)-web-1
    git
    java.lang.OutOfMemoryError: unable to create new native thread
    docker (centOS 7) 使用笔记6
  • 原文地址:https://www.cnblogs.com/bigbrid/p/15002622.html
Copyright © 2011-2022 走看看