使用SSL的JMeter和HTTP代理服务器出现问题

时间:2010-08-02 02:54:55

标签: jmeter

我们正在使用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 INFO - jmeter.protocol.http.sampler.HTTPSampler:错误响应代码:404
2010/08/02 14:46:02错误 - jmeter.protocol.http.proxy.Proxy:java.net.SocketException:远程主机关闭连接
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(Unknown Source)
    at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
    at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
    在java.io.BufferedOutputStream.flush(未知来源)
    在org.apache.jmeter.protocol.http.proxy.Proxy.writeToClient(Proxy.java:443)
    在org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:264)

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

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

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

Milamber

答案 1 :(得分:3)

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

  

录制HTTPS时,JMeter代理   服务器使用虚拟证书   使其能够接受SSL连接   来自浏览器。这个证书是   没有其中一个证书   浏览器通常信任,不会信任   是为了正确的主人,所以   浏览器应显示对话框   问你是否愿意接受   证书与否。例如:1)   服务器名称“www.example.com”   与证书的名称不匹配   “JMeter代理”。有人可能会尝试   偷听你。 2)   “JMeter代理”证书是   由未知证书签名   权限“JMeter代理”。它不是   可以验证这是一个   有效证书。你需要   接受证书以便   允许JMeter代理拦截   SSL流量以便记录它。   您应该只接受证书   暂时的。

另见http://osdir.com/ml/jmeter-dev.jakarta.apache.org/2009-08/msg00005.html

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

安装Jmeter Chrome extension,可以毫无问题地记录HTTPS协议。