我们正在使用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)
有什么想法吗?
答案 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创建证书。下面是一篇很棒的文章,详细说明了如何做到这一点:
答案 3 :(得分:0)
安装Jmeter Chrome extension,可以毫无问题地记录HTTPS协议。