httperf: connection failed with unexpected error 0

1.7k views Asked by At

Has anybody seen "httperf: connection failed with unexpected error 0" when running httperf with --ssl?

This is blocking my test on that domain. When I tested --ssl on https://google.com it worked fine.

On the other end of my "problematic" domain there is ELB, forwarding calls to heroku.

On my workstation: OSX 10.9.5 and httperf-0.9.0 (via brew)

2

There are 2 answers

0
oto On

I had the same issue, by looking at NGINX logs it turns out the SSL handshake fails because SSLv3 is disabled server side.

The project seemed a bit dead so I modified this file at line 924 :

I replaced SSLv3_client_method() with TLSv1_client_method()

Then the usual compilation stuff configure-make-install. Be sure to have openssl on your build machine.

Source : https://www.openssl.org/docs/ssl/SSL_CTX_new.html

0
thaddeusmt On

The answer by @oto turned out be related to my fix as well. Basically, we stopped using SSLv3 on our server (and, apparently, all other ssl protocols used by httperf) due to the POODLE vulnerability, and httperf uses SSLv3, so it fails to connect.

Until they update httperf there seems to be no easy way around this. One way to fix it is to change from SSLv3 to TLSv1 by hand, as mentioned in the other answer.

I found this patch pull-request on GitHub. It changes the code so you can specify the ssl protocol with a flag, so I could force using TLSv1 instead of SSLv3.

For both fixes you will need to download the httperf source code, make the changes (like applying the patch), and then compile. I cloned the source from GitHub, so I had to run the autoreconf -i command before running make, but the instructions are pretty good. I had to use commit ed5c631 since the latest commits appear to be broken.