Squid SSL transparent proxy - SSL_connect:error in SSLv2/v3 read server hello A
I am trying to setup a SSL proxy for one of my internal servers to visit https://www.googleapis.com
using Squid, to make my Rails application on that server to reach googleapis.com
via the proxy.
I am new to this, so my approach is to setup a SSL transparent proxy with Squid. I build Squid 3.3
on Ubuntu 12.04, generated a pair of ssl key and crt, and configure squid like this:
http_port 443 transparent cert=/home/larry/ssl/server.csr key=/home/larry/ssl/server.key
And leaves almost all other configurations default. The authorization of the dir that holds key/crt is drwxrwxr-x 2 proxy proxy 4096 Oct 17 15:45 ssl
Back on my dev laptop, I put <proxy-server-ip> www.googleapis.com
in my /etc/hosts
to make the call goes to my proxy server.
But when I try it in my rails application, I got:
SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol
And I also tried with openssl in cli:
openssl s_client -state -nbio -connect www.googleapis.com:443 2>&1 | grep "^SSL"
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:error in SSLv2/v3 read server hello A
SSL_connect:error in SSLv2/v3 read server hello A
Where did I do wrong?
Solution 1:
Does this file really contain your cert?
cert=/home/larry/ssl/server.csr
If you're following standard conventions, that's your CSR, certificate signing request, that you sent to your SSL vendor. The SSL vendor, in return, gave you a certificate (often .crt) file that you need to use here.