首页 > 解决方案 > 在 Ubuntu 18.04 上通过 Firefox 进行 JMeter 记录控制器

问题描述

我在 Ubuntu 18.04 上使用 Firefox 来记录 JMeter 场景。我无法访问 HTTPS 页面:Firefox 返回SSL_ERROR_RX_RECORD_TOO_LONG错误。

在 Firefox 中,我设置了 JMeter 生成的临时证书,监听 8080 端口。

当我尝试访问 HTTPS 页面时,我在jmeter.log文件中收到以下错误:

2019-05-02 16:36:22,461 ERROR o.a.j.p.h.p.Proxy:
javax.net.ssl.SSLProtocolException: Broken pipe (Write failed)
        at sun.security.ssl.Alert.createSSLException(Alert.java:126) ~[?:?]
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:321) ~[?:?]
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:264) ~[?:?]
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:259) ~[?:?]
        at sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:988) ~[?:?]
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:123) ~[?:?]
        at java.io.FilterOutputStream.write(FilterOutputStream.java:108) ~[?:?]
        at org.apache.jmeter.protocol.http.proxy.Proxy.writeToClient(Proxy.java:486) [ApacheJMeter_http.jar:5.1.1 r1855137]
        at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:244) [ApacheJMeter_http.jar:5.1.1 r1855137]
Caused by: java.net.SocketException: Broken pipe (Write failed)
        at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:?]
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) ~[?:?]
        at java.net.SocketOutputStream.write(SocketOutputStream.java:150) ~[?:?]
        at sun.security.ssl.SSLSocketOutputRecord.deliver(SSLSocketOutputRecord.java:320) ~[?:?]
        at sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:983) ~[?:?]
        ... 4 more
2019-05-02 16:36:22,463 ERROR o.a.j.p.h.p.Proxy: [52392]  Exception when processing sample
javax.net.ssl.SSLProtocolException: Broken pipe (Write failed)
        at sun.security.ssl.Alert.createSSLException(Alert.java:126) ~[?:?]
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:321) ~[?:?]
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:264) ~[?:?]
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:259) ~[?:?]
        at sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:988) ~[?:?]
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:123) ~[?:?]
        at java.io.FilterOutputStream.write(FilterOutputStream.java:108) ~[?:?]
        at org.apache.jmeter.protocol.http.proxy.Proxy.writeToClient(Proxy.java:486) ~[ApacheJMeter_http.jar:5.1.1 r1855137]
        at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:244) [ApacheJMeter_http.jar:5.1.1 r1855137]
Caused by: java.net.SocketException: Broken pipe (Write failed)
        at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:?]
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) ~[?:?]
        at java.net.SocketOutputStream.write(SocketOutputStream.java:150) ~[?:?]
        at sun.security.ssl.SSLSocketOutputRecord.deliver(SSLSocketOutputRecord.java:320) ~[?:?]
        at sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:983) ~[?:?]
        ... 4 more
2019-05-02 16:36:22,464 WARN o.a.j.p.h.p.Proxy: [52392]  Exception while writing error
java.net.SocketException: Socket is closed
        at sun.security.ssl.SSLSocketImpl.getOutputStream(SSLSocketImpl.java:916) ~[?:?]
        at org.apache.jmeter.protocol.http.proxy.Proxy.writeErrorToClient(Proxy.java:561) [ApacheJMeter_http.jar:5.1.1 r1855137]
        at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:261) [ApacheJMeter_http.jar:5.1.1 r1855137]

为了访问 HTTPS 页面,我需要进行一些调整吗?

标签: firefoxjmeter

解决方案


下面是一个链接,其中包含一些您可以尝试的方法:- https://windowsreport.com/fix-ssl_error_rx_record_too_long-firefox-error/

但是,如果你已经尝试过这个。然后,尝试将浏览器更改为其他浏览器,例如 chrome。


推荐阅读