JMETER-将记录器用于IP地址(而不是域名)的HTTPS请求 [英] JMETER - Using recorder for HTTPS requests for an IP adress (instead of a domain name)

查看:927
本文介绍了JMETER-将记录器用于IP地址(而不是域名)的HTTPS请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要进行一些负载测试.我的Web应用程序没有域名(只有IP地址),并且使用HTTPS.

I have some load testing to do. My web application does not have a domaine name (only an IP adress) and uses HTTPS.

当尝试顶部使用JMeter的Script Recorder时,在我的Web浏览器中出现以下错误:

When try to top use JMeter's Script Recorder, I get the following error in my web browser:

An error occurred during a connection to 188.165.49.217:8443. SSL received a record that exceeded the maximum permissible length. Error code: SSL_ERROR_RX_RECORD_TOO_LONG

如果我查看JMeter的日志,则会看到以下内容:

And if I look at JMeter's log I see the following:

Problem with keystore
java.io.IOException:   >> erreur keytool : java.lang.RuntimeException: 
java.io.IOException: DNSName components must begin with a letter <<
Command failed, code: 1
'"C:\Program Files (x86)\Java\jre1.8.0_121\bin\keytool" -genkeypair -alias 1XX.XXX.XX.XXX -dname "cn=1XX.XXX.XX.XXX, o=JMeter Proxy (TEMPORARY TRUST ONLY)" -keyalg RSA -keystore proxyserver.jks -storepass {redacted} -keypass {redacted} -validity 7 -ext san=dns:1XX.XXX.XX.XXX'
    at org.apache.jorphan.exec.KeyToolUtils.genkeypair(KeyToolUtils.java:171) ~[jorphan.jar:4.0 r1823414]
    at org.apache.jorphan.exec.KeyToolUtils.generateSignedCert(KeyToolUtils.java:285) ~[jorphan.jar:4.0 r1823414]
    at org.apache.jorphan.exec.KeyToolUtils.generateHostCert(KeyToolUtils.java:276) ~[jorphan.jar:4.0 r1823414]
    at org.apache.jmeter.protocol.http.proxy.ProxyControl.updateKeyStore(ProxyControl.java:1563) ~[ApacheJMeter_http.jar:4.0 r1823414]
    at org.apache.jmeter.protocol.http.proxy.Proxy.getSSLSocketFactory(Proxy.java:324) [ApacheJMeter_http.jar:4.0 r1823414]
    at org.apache.jmeter.protocol.http.proxy.Proxy.startSSL(Proxy.java:429) [ApacheJMeter_http.jar:4.0 r1823414]
    at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:194) [ApacheJMeter_http.jar:4.0 r1823414]
2018-04-16 17:33:24,397 WARN o.a.j.p.h.p.Proxy: [61014]  Unable to negotiate SSL transaction, no keystore?
2018-04-16 17:33:24,397 ERROR o.a.j.p.h.p.Proxy: [61014]  Exception when processing sample java.io.IOException: Unable to negotiate SSL transaction, no keystore?
        at org.apache.jmeter.protocol.http.proxy.Proxy.startSSL(Proxy.java:446) ~[ApacheJMeter_http.jar:4.0 r1823414]
        at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:194) [ApacheJMeter_http.jar:4.0 r1823414]
2018-04-16 17:33:24,398 WARN o.a.j.p.h.p.Proxy: [61014]  Exception while writing error java.net.SocketException: Connection reset by peer: socket write error
        at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:1.8.0_121]
    at java.net.SocketOutputStream.socketWrite(Unknown Source) ~[?:1.8.0_121]
        at java.net.SocketOutputStream.write(Unknown Source) ~[?:1.8.0_121]
        at java.io.DataOutputStream.writeBytes(Unknown Source) ~[?:1.8.0_121]
        at org.apache.jmeter.protocol.http.proxy.Proxy.writeErrorToClient(Proxy.java:561) 
[ApacheJMeter_http.jar:4.0 r1823414]
        at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:258)     [ApacheJMeter_http.jar:4.0 r1823414]

从我的角度来看,JMeterScript Recorder不接受用于HTTPS记录的IP地址,对吗?有什么办法解决(除了我们的we app的域名之外)?

The way I see it, the JMeterScript Recorder does not accept IP adresses for HTTPS recording, Am I right? Is there any way to around that (besides usin a domain name for my we app)?

问候 艾莉(Elie)

Regards Elie

推荐答案

一种选择是修改运行jmeter的服务器上的主机文件,以便jmeter可以解析域名.您可以找到有关如何为操作系统修改主机文件的信息这里.

One option would be to modify the hosts file on the server that jmeter is running on so that jmeter can resolve the domain name. You can find information on how to modify the hosts file for your operating system here.

这篇关于JMETER-将记录器用于IP地址(而不是域名)的HTTPS请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆