Re: [Grinder-use] SSL and Failed to determine proxy destination
Distributed load testing framework - Java, Jython, or Clojure scripts.
Brought to you by:
philipa
|
From: Alex C. <agr...@gm...> - 2012-01-07 03:24:52
|
I have resolved the issue. I was using Java SE 7, and not Java SE 6. Carlos, thank you for your help. On Fri, Jan 6, 2012 at 1:21 PM, Alex Crane <agr...@gm...> wrote: > I have tried that step, the results are still the same: > > C:\Users\ACrane\Projects\LoadTesting>java net.grinder.TCPProxy -console > -http -k > eystore testKeys -keyStorePassword passphrase > output_script.py > 1/6/12 1:15:30 PM (tcpproxy): Initialising as an HTTP/HTTPS proxy with the > > parameters: > > Request filters: HTTPRequestFilter > > Response filters: HTTPResponseFilter > > Local address: localhost:8001 > > Key store: testKeys > > Key store password: ********** > > 1/6/12 1:15:30 PM (tcpproxy): Engine initialised, listening on port 8001 > > 1/6/12 1:15:55 PM (tcpproxy): Failed to determine proxy destination. > > Client opened connection but sent no bytes. > > 1/6/12 1:16:03 PM (tcpproxy): Failed to determine proxy destination. > > Client opened connection but sent no bytes. > > javax.net.ssl.SSLException: Unsupported record version Unknown-0.0 > at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:394) > at sun.security.ssl.InputRecord.read(InputRecord.java:376) > at > sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893) > at > sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. > java:1294) > at > sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848) > > at sun.security.ssl.AppInputStream.read(AppInputStream.java:102) > at > net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThrea > d.interruptibleRun(AbstractTCPProxyEngine.java:410) > at > net.grinder.util.thread.InterruptibleRunnableAdapter.run(Interruptibl > eRunnableAdapter.java:58) > at java.lang.Thread.run(Thread.java:722) > javax.net.ssl.SSLException: Unsupported record version Unknown-0.0 > at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:394) > at sun.security.ssl.InputRecord.read(InputRecord.java:376) > at > sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893) > at > sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. > java:1294) > at > sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848) > > at sun.security.ssl.AppInputStream.read(AppInputStream.java:102) > at > net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThrea > d.interruptibleRun(AbstractTCPProxyEngine.java:410) > at > net.grinder.util.thread.InterruptibleRunnableAdapter.run(Interruptibl > eRunnableAdapter.java:58) > at java.lang.Thread.run(Thread.java:722) > 1/6/12 1:16:08 PM (tcpproxy): Engine exited > > > On Fri, Jan 6, 2012 at 12:47 PM, Carlos E. Torchia <cto...@uv...>wrote: > >> Have you tried using the -keystore option to TCPProxy to specify a >> keystore with trusted certificates? This section of the user guide<http://grinder.sourceforge.net/g3/tcpproxy.html#ssl>explains why and shows how to do this. >> >> >> On Fri, Jan 6, 2012 at 12:25 PM, Alex Crane <agr...@gm...> wrote: >> >>> Carlos, thanks for your response. Unfortunately it is not recording >>> anything, below is the httpscript.py output; and the page does not load in >>> the browser. I tried using a different browser (Firefox instead of IE), as >>> someone previously had this issue in the list server posted that doing so >>> resolved their issue. However the results are the same for me with either >>> browser. >>> >>> # The Grinder 3.6 >>> # HTTP script recorded by TCPProxy at Jan 6, 2012 12:19:01 PM >>> >>> from net.grinder.script import Test >>> from net.grinder.script.Grinder import grinder >>> from net.grinder.plugin.http import HTTPPluginControl, HTTPRequest >>> from HTTPClient import NVPair >>> connectionDefaults = HTTPPluginControl.getConnectionDefaults() >>> httpUtilities = HTTPPluginControl.getHTTPUtilities() >>> >>> # To use a proxy server, uncomment the next line and set the host and >>> port. >>> # connectionDefaults.setProxyServer("localhost", 8001) >>> >>> # These definitions at the top level of the file are evaluated once, >>> # when the worker process is started. >>> >>> connectionDefaults.defaultHeaders = \ >>> [ NVPair('Accept-Language', 'en-US'), >>> NVPair('Accept-Encoding', 'gzip, deflate'), >>> NVPair('User-Agent', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT >>> 6.1; WOW64; Trident/5.0)'), >>> NVPair('Accept', 'text/html, application/xhtml+xml, */*'), ] >>> >>> headers0= \ >>> [ ] >>> >>> url0 = 'http://mysite.com:80' >>> url1 = 'https://mysite.com:443' >>> >>> # Create an HTTPRequest for each request, then replace the >>> # reference to the HTTPRequest with an instrumented version. >>> # You can access the unadorned instance using request101.__target__. >>> request101 = HTTPRequest(url=url0, headers=headers0) >>> request101 = Test(101, 'GET /').wrap(request101) >>> >>> >>> class TestRunner: >>> """A TestRunner instance is created for each worker thread.""" >>> >>> # A method for each recorded page. >>> def page1(self): >>> """GET / (request 101).""" >>> >>> # Expecting 302 'Redirect' >>> result = request101.GET('/analytics/') >>> >>> return result >>> >>> def __call__(self): >>> """This method is called for every run performed by the worker >>> thread.""" >>> self.page1() # GET / (request 101) >>> >>> >>> def instrumentMethod(test, method_name, c=TestRunner): >>> """Instrument a method with the given Test.""" >>> unadorned = getattr(c, method_name) >>> import new >>> method = new.instancemethod(test.wrap(unadorned), None, c) >>> setattr(c, method_name, method) >>> >>> # Replace each method with an instrumented version. >>> # You can call the unadorned method using self.page1.__target__(). >>> instrumentMethod(Test(100, 'Page 1'), 'page1') >>> >>> On Fri, Jan 6, 2012 at 12:34 AM, Carlos E. Torchia <cto...@uv...>wrote: >>> >>>> But does TCPProxy actually record anything when you go to that site >>>> anyway? I get SSL errors sometimes when I visit a site through TCPProxy, >>>> but it records the request anyway. Maybe you just have to manually add some >>>> authentication to the request in the Jython script?? >>>> >>>> On Thu, Jan 5, 2012 at 10:55 PM, Alex Crane <agr...@gm...>wrote: >>>> >>>>> Hey, I'm looking to use The Grinder for some load testing of an >>>>> application, and I am running into an issue. When using TCPProxy to access >>>>> a certain site I get the warning about the untrusted certificate, and click >>>>> I understand, proceed. At which point I start getting the errors below in >>>>> the TCPProxy terminal. For what's its worth, I can connect to >>>>> https://www.google.com fine. Using Fiddler2 as a proxy server instead >>>>> of TCPProxy I can also connect fine. Any suggestions or ideas would be >>>>> greatly appreciated. >>>>> >>>>> Thanks, >>>>> Alex >>>>> >>>>> 1/5/12 10:47:33 PM (tcpproxy): Failed to determine proxy destination. >>>>> >>>>> Client opened connection but sent no bytes. >>>>> >>>>> javax.net.ssl.SSLException: Unsupported record version Unknown-0.0 >>>>> at >>>>> sun.security.ssl.InputRecord.readV3Record(InputRecord.java:394) >>>>> at sun.security.ssl.InputRecord.read(InputRecord.java:376) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. >>>>> java:1294) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848) >>>>> >>>>> at >>>>> sun.security.ssl.AppInputStream.read(AppInputStream.java:102) >>>>> at >>>>> net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThrea >>>>> d.interruptibleRun(AbstractTCPProxyEngine.java:410) >>>>> at >>>>> net.grinder.util.thread.InterruptibleRunnableAdapter.run(Interruptibl >>>>> eRunnableAdapter.java:58) >>>>> at java.lang.Thread.run(Thread.java:722) >>>>> javax.net.ssl.SSLHandshakeException: Remote host closed connection >>>>> during handsh >>>>> ake >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:912) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. >>>>> java:1294) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848) >>>>> >>>>> at >>>>> sun.security.ssl.AppInputStream.read(AppInputStream.java:102) >>>>> at >>>>> net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThrea >>>>> d.interruptibleRun(AbstractTCPProxyEngine.java:410) >>>>> at >>>>> net.grinder.util.thread.InterruptibleRunnableAdapter.run(Interruptibl >>>>> eRunnableAdapter.java:58) >>>>> at java.lang.Thread.run(Thread.java:722) >>>>> Caused by: java.io.EOFException: SSL peer shut down incorrectly >>>>> at sun.security.ssl.InputRecord.read(InputRecord.java:352) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893) >>>>> ... 6 more >>>>> javax.net.ssl.SSLHandshakeException: Remote host closed connection >>>>> during handsh >>>>> ake >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:912) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. >>>>> java:1294) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848) >>>>> >>>>> at >>>>> sun.security.ssl.AppInputStream.read(AppInputStream.java:102) >>>>> at >>>>> net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThrea >>>>> d.interruptibleRun(AbstractTCPProxyEngine.java:410) >>>>> at >>>>> net.grinder.util.thread.InterruptibleRunnableAdapter.run(Interruptibl >>>>> eRunnableAdapter.java:58) >>>>> at java.lang.Thread.run(Thread.java:722) >>>>> Caused by: java.io.EOFException: SSL peer shut down incorrectly >>>>> at sun.security.ssl.InputRecord.read(InputRecord.java:352) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893) >>>>> ... 6 more >>>>> javax.net.ssl.SSLHandshakeException: Remote host closed connection >>>>> during handsh >>>>> ake >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:912) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. >>>>> java:1294) >>>>> at >>>>> sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848) >>>>> >>>>> at >>>>> sun.security.ssl.AppInputStream.read(AppInputStream.java:102) >>>>> at >>>>> net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThrea >>>>> d.interruptibleRun(AbstractTCPProxyEngine.java:410) >>>>> at >>>>> net.grinder.util.thread.InterruptibleRunnableAdapter.run(Interruptibl >>>>> eRunnableAdapter.java:58) >>>>> at java.lang.Thread.run(Thread.java:722) >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a >>>>> complex >>>>> infrastructure or vast IT resources to deliver seamless, secure access >>>>> to >>>>> virtual desktops. With this all-in-one solution, easily deploy virtual >>>>> desktops for less than the cost of PCs and save 60% on VDI >>>>> infrastructure >>>>> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox >>>>> _______________________________________________ >>>>> grinder-use mailing list >>>>> gri...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/grinder-use >>>>> >>>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a >>>> complex >>>> infrastructure or vast IT resources to deliver seamless, secure access >>>> to >>>> virtual desktops. With this all-in-one solution, easily deploy virtual >>>> desktops for less than the cost of PCs and save 60% on VDI >>>> infrastructure >>>> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox >>>> _______________________________________________ >>>> grinder-use mailing list >>>> gri...@li... >>>> https://lists.sourceforge.net/lists/listinfo/grinder-use >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex >>> infrastructure or vast IT resources to deliver seamless, secure access to >>> virtual desktops. With this all-in-one solution, easily deploy virtual >>> desktops for less than the cost of PCs and save 60% on VDI infrastructure >>> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox >>> _______________________________________________ >>> grinder-use mailing list >>> gri...@li... >>> https://lists.sourceforge.net/lists/listinfo/grinder-use >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex >> infrastructure or vast IT resources to deliver seamless, secure access to >> virtual desktops. With this all-in-one solution, easily deploy virtual >> desktops for less than the cost of PCs and save 60% on VDI infrastructure >> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox >> _______________________________________________ >> grinder-use mailing list >> gri...@li... >> https://lists.sourceforge.net/lists/listinfo/grinder-use >> >> > |