接收一个性能测试任务,各种原因需要使用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;

  

  

lr使用linux Generator测试https莫名报 SSL protocol error when attempting to connect with host的更多相关文章

  1. linux下unzip解压报错“symlink error: File name too long”怎么办?提供解决方案。

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 分享unzip工具的一个bug." 最近在研究菠菜站,中间用到了Spidermonkey,碰到一些小波折,在这里分享出来,以便大家 ...

  2. 【linux】Python3.6安装报错 configure: error: no acceptable C compiler found in $PATH

    安装python的时候出现如下的错误: [root@master ~]#./configure --prefix=/usr/local/python3.6 checking build system ...

  3. 【Linux】解决Android Stadio报错:error in opening zip file

    报错: Failed to complete Gradle Execution Cause: error in opening zip file. 原因: 安装gradle失败引起的,往往是上网需要验 ...

  4. Linux:配置HTTPS,获取ssl证书

    这里小仓鼠将Https配置流程记录下来 1.访问网站:https://www.aliyun.com/ss/?k=ssl 2.选择‘立即购买’ 3. 页面变换为: 4.点击‘立即购买’ 5.进行支付 6 ...

  5. 使用yum安装应用程序时候,报错:[Errno 14] PYCURL ERROR 7 - "Failed to connect to 2001:da8:8000:6023::230: 网络不可达"

    使用yum安装应用程序时候,报错:[Errno 14] PYCURL ERROR 7 - "Failed to connect to 2001:da8:8000:6023::230: 网络不 ...

  6. LR录制https协议报证书错误,导航已阻止

    使用IE浏览器录制https协议报证书错误,导航已阻止,修改如下配置文件:

  7. LR监控linux系统资源

    一.检查系统是否安装rpc服务 使用LR监控Linux,首先查看系统是否开启了rpc服务,其次查看Linux系统守护进程rpc.restat是否启动,该进程是必须的.可以通过命令rpcinfo -p来 ...

  8. Asp.Net Core采用MailKit部署到Linux Docker连接邮件服务器报错

    前段时间看文章了解到发邮件的SmtpClient已经过时了,微软官方推荐大家用其他解决方案,例如MailKit. https://docs.microsoft.com/zh-cn/dotnet/api ...

  9. linux -小记(3) 问题:linux 安装epel扩展源报错

    EPEL提供的软件包大多基于其对应的Fedora软件包,不会与企业版Linux发行版本的软件发生冲突或替换其文件. epel安装对应的rpm包 centos5 32位epel源下载地址: www.li ...

随机推荐

  1. eclipse安装Spring Tool Suite 各个版本的方法

    有时候spring官网上找不到与我们当前eclipse对应的spring插件,用URL的方式安装费时又费力,那么如何下载对应的spring插件呢? 先到插件页面,然后点击“原先的插件版本” 显示出这个 ...

  2. GO语言的进阶之路-初探GO语言

    GO语言的进阶之路-初探GO语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么我们需要一门新语言 Go语言官方自称,之所以开发Go 语言,是因为“近10年来开发程序之难 ...

  3. Hadoop基础-配置历史服务器

    Hadoop基础-配置历史服务器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  Hadoop自带了一个历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比 ...

  4. python---ORM之SQLAlchemy(2)外键使用

    import sqlalchemy from sqlalchemy import create_engine from sqlalchemy import Column,String,Integer, ...

  5. JAVA记录-Mybatis介绍

    1.什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyB ...

  6. java自带BASE64工具进行图片和字符串转换【转】

    java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...

  7. Codeforces 219D - Choosing Capital for Treeland(树形dp)

    http://codeforces.com/problemset/problem/219/D 题意 给一颗树但边是单向边,求至少旋转多少条单向边的方向,可以使得树上有一点可以到达树上任意一点,若有多个 ...

  8. C# 生成一个带数字的饼图

    using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D ...

  9. DotNetBar ButtonX添加下拉面板

    1. 2.在窗口上放一个控件 Control选择这个控件,即可,如果想让textBox下拉面板,需要使用textBoxDropDown,而不是textBoxX,DotNetBar的命名很奇怪.

  10. 算法排序【时间复杂度O(n^2)】

    排序算法的两个原则: 1.输出结果为递增或者递减. 2.输出结果为原输入结果的排列或者重组. 平均时间复杂度为O(n^2)的排序算法有三种: 冒泡排序,插入排序,选择排序. 一.冒泡排序: 即谁冒泡泡 ...