zoukankan      html  css  js  c++  java
  • lr使用linux Generator测试https莫名报 SSL protocol error when attempting to connect with host

      接收一个性能测试任务,各种原因需要使用linux agent产生压力。诡异的事发生了,同样脚本windows回放成功,使用linux agent报如下错误,脚本回放失败。

    Action.c(33): Error -27778: SSL protocol error when attempting to connect with host "xxx.xxx.xxx" 

       各种查找原因:

      方法1:lr设置如下,无效因为只在windows生效linux根本不起作用

    runtime setting -> Internet protocol->perference 选中 WinINet replay instead of sockets
    

      方法2:在脚本添加如下内容,无效因为此命令只是告诉lr使用ssl版本

    web_set_sockets_option("SSL_VERSION","TLS");

      方法3:根据错误提示修改各种ssl版本,F1后根据文档修改“The SSL version preferences 2, 3, 2 and 3, TLS.”,依然无效

      方法4:怀疑 nginx ssl配置问题,乱加了一通依然无效

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    

      一通乱搞已经半天过了去,没办法只能放弃直接压力80,好在需求压力不大nginx不是问题。

      今天忽然有时间继续解决,居然让我蒙对了。

      第一步:通过 fiddler + postman 转lr脚本的方式,看看是不是我写的脚本有问题。问题依然存在。

      第二步:使用 tcpdump 抓包由于本人不会使用tcpdump看报文,没办法只能安装 wireshark 类工具查看。悲剧又开始了凭着老经验自认为win10上装不上wireshark,在win7虚拟机上安装,各种vc库报错。没办法在win10上安装了一下,居然成功了。

      第三步:开始抓包,先用windows产生压力抓个包,再用linux产生压力抓个包。

      windows没问题的包

       linux上有问题包,可以看出hello后服务器报错了,提示“TLSv1 Record Layer: Alert (Level: Fatal, Description: Handshake Failure)”这个提示没啥用,还是不知道啥错误。

     

       第四步:没办法只能看握手报文了

       windows没问题的

      linux上有问题的报文,可以看除两个唯一的区别就是选用的加密算法不同

      第五步:既然问题找到了那解决就简单了。可以有两个方式 a)在 nginx 中配置然他支持加密算法。b)在linux agent上配置让他用和windows一样的加密算法

      第六步:在nginx 服务器上,将原来的

    ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
    

      改为如下内容,再使用linux agent回访成功,这种改法还是有问题,第一改后的加密算法有安全漏洞,第二两个算法对性能测试结论会有影响。今天累了改天有时间再看吧。

    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    

      

      

  • 相关阅读:
    [剑指offer] 42. 和为S的两个数字
    [剑指offer] 41. 和为S的连续正数序列
    datagridview bindingsource刷新数据
    datagridview bindingsource
    slot-具名插槽
    基于uniapp的ui库
    组件之间通讯
    vue实现word或pdf文档导出的功能
    Vue之富文本tinymce爬坑录
    12道vue高频原理面试题,你能答出几道?
  • 原文地址:https://www.cnblogs.com/rslai/p/10008783.html
Copyright © 2011-2022 走看看