黑马程序员技术交流社区

标题: 【深圳校区】秒懂HTTPS接口(JMeter压测篇) [打印本页]

作者: 柠檬leung不酸    时间: 2018-12-26 09:56
标题: 【深圳校区】秒懂HTTPS接口(JMeter压测篇)
前言
使用JMeter压测HTTPS接口比较简单,只需要预先处理SSL证书认证,后面就是压测HTTP接口的通用步骤。
HTTPS连接证书来验证浏览器和WEB服务器之间的连接。通过HTTP连接时,服务器会将证书提供给浏览器。为了对证书进行身份验证,浏览器会检查服务器证书是否链接到其内置根CA之一的证书颁发机构(CA)签名,详细请参照秒懂HTTPS接口(原理篇)
JMeter压测
目前主要两种方式:
录制HTTPS大致原理

JMeter录制器通过浏览器访问其代理服务器,由代理服务器根据访问解析后生成 HTTPSampler的方式充当了浏览器的角色,于是当建立代理服务器连接后,浏览器会直接将代理服务器当做目标服务器。这时候它就会向代理服务器索要数字证书,JMeter通过生成一个本地的CA证书来完成这个与浏览器建立HTTPS连接的过程。 然后JMeter使用自己的证书拦截来自浏览器的HTTPS连接,实际上就是JMeter伪装成目标服务器。
具体步骤
打开JMeter在菜单栏上选择录制模板

生成完整的测试计划
在HTTPRequestDefault中输入域名/IP地址,这里以 github.com示例
返回 HTTP(S)TestScriptRecorder,然后单击启动按钮
这时候已经启动JMeter代理服务器,用于拦截浏览器请求。这时候会在 jmeter_home/bin文件夹中生成 ApacheJMeterTemporaryRootCA.crt文件
JMeter生成的CA证书默认情况是不被浏览器信任的,所以我们需要安装其为受信任的证书,这里我以Mac系统示例。

然后就是配置浏览器使用JMeter代理了,这里我以Chrome示例。
打开"设置"

打开"系统"菜单
设置代理
最后,在浏览器输入URL地址,JMeter会生成录制的请求。

手动配置证书
从浏览器导出站点证书(一般是单向证书,即服务器不限制客户端),此处以window系统Chrome浏览器示例

证书导出为DER格式

带有后缀扩展名的证书文件:

*.DER *.CER : 这样的证书文件是二进制格式,只含有证书信息,不包含私钥。 *.CRT : 这样的文件可以是二进制格式,也可以是文本格式,一般均为文本格式,功能与.DER/.CER相同。

*.PEM : 一般是文本格式,可以放证书或私钥,或者两者都包含。

*.PEM如果只包含私钥,那一般用 *.KEY代替。

*.PFX *.P12 是二进制格式,同时含证书和私钥,一般有密码保护

在JDK的bin目录下通过keytool把证书导入秘钥文件 .strore


通过JMeter的SSL管理加载store文件
后面跟压测HTTP接口一样,不过要注意 HTTPRequestSampler协议输入https,端口设置为443

秒懂HTTPS接口系列源码:
https://github.com/zuozewei/Springboot-https-demo

转自 https://www.testwo.com/article/1412
文章仅作为分享






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2