6

我们正在使用 JMeter 2.4 并尝试使用 HTTP 代理服务器来捕获测试计划。

“尝试 HTTPS 欺骗”未勾选。

我们在 JMeter 日志中得到的错误是:

2010/08/02 14:46:02 错误 - jmeter.protocol.http.proxy.Proxy:SSL 证书有问题?确保浏览器设置为接受 JMeter 代理证书:
远程主机关闭连接 2010/08/02 14:46:02 INFO - jmeter.protocol.http.sampler.HTTPSampler:错误响应代码:404
2010/08/02 14: 46:02 信息 - jmeter.protocol.http.sampler.HTTPSampler:错误响应代码:404
2010/08/02 14:46:02 错误 - jmeter.protocol.http.proxy.Proxy:java.net.SocketException:连接关闭由远程主机
在 com.sun.net.ssl.internal.ssl.AppOutputStream.write( Unknown Source) 在 java.io.BufferedOutputStream
的 com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(Unknown Source) 。
冲洗缓冲区(未知来源)
在 java.io.BufferedOutputStream.flush(Unknown Source)
在 org.apache.jmeter.protocol.http.proxy.Proxy.writeToClient(Proxy.java:443)
在 org.apache.jmeter.protocol.http.proxy.Proxy。运行(Proxy.java:264)

有任何想法吗?

4

4 回答 4

4

您必须在浏览器中删除与您的网站相关的自动签名证书,并重新启动与 JMeter 2.4 的记录会话。在这个新会话中,接受 JMeter 的虚拟证书。

(在 Firefox 中:选项 > 高级 > 加密 > 查看证书 ==> 证书管理器 > 服务器 > 选择网站证书并删除...)

米兰伯

于 2010-08-11T22:08:06.977 回答
3

来自http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Proxy_Server

记录 HTTPS 时,JMeter 代理服务器使用虚拟证书使其能够接受来自浏览器的 SSL 连接。该证书不是浏览器通常信任的证书之一,并且不会用于正确的主机,因此浏览器应显示一个对话框,询问您是否要接受该证书。例如: 1) 服务器名称“www.example.com”与证书名称“JMeter Proxy”不匹配。可能有人试图窃听你。2)“JMeter Proxy”的证书由未知的证书颁发机构“JMeter Proxy”签名。无法验证这是一个有效的证书。您将需要接受证书以允许 JMeter 代理拦截 SSL 流量以记录它。您应该只暂时接受证书。

另请参阅此处http://osdir.com/ml/jmeter-dev.jakarta.apache.org/2009-08/msg00005.html

于 2010-08-02T08:32:14.667 回答
0

您可能必须为 Jmeter 创建证书。下面是一篇精彩的文章,详细说明了如何做到这一点:

http://www.java-samples.com/showtutorial.php?tutorialid=210

于 2010-08-02T14:44:15.060 回答
0

安装Jmeter Chrome 扩展程序,它记录 HTTPS 协议没有任何问题。

于 2013-09-20T06:48:38.483 回答