Hey guys, I've been stressing myself out for a week now and I can't find a way to properly configure SPDY along with virtual hosts.
Backend: I have a nginx server hosting several virtual hosts, port 80 serves HTTP and port 81 serves SPDY (non ssl). I plan to replicate this setup on several physical servers and would like to load balance them using HAProxy. I came up with the following HAProxy config: --- defaults stats enable mode tcp log global balance roundrobin frontend secure bind *:443 ssl crt /etc/certs/cert.pem npn spdy/3.1,http/1.1 tcp-request inspect-delay 5s tcp-request content accept if HTTP acl spdy ssl_fc_npn -i spdy/3.1 acl site1 req.hdr(Host) -i site1.foo.com acl site2 req.hdr(Host) -i site2.foo.com use_backend site1_spdy if spdy site1 use_backend site1_http if site1 use_backend site2_spdy if spdy site2 use_backend site2_http if site2 backend site1_spdy option httpchk HEAD /check HTTP/1.1\r\nHost:\ site1.foo.com server node1 127.0.0.1:81 check port 80 backend site1_http option httpchk HEAD /check HTTP/1.1\r\nHost:\ site1.foo.com server node1 127.0.0.1:80 check backend site2_spdy option httpchk HEAD /check HTTP/1.1\r\nHost:\ site2.foo.com server node1 127.0.0.1:81 check port 80 backend site2_http option httpchk HEAD /check HTTP/1.1\r\nHost:\ site2.foo.com server node1 127.0.0.1:80 check --- Once I get the config working, I will add additional nginx servers to the HAProxy backends. The problem is: All backends are reported OK on the stats page. But I'm constantly getting "Connection closed" whenever I try from a SPDY enabled browser (eg, Google Chrome), while a curl call to the same URL always succeeds. This is driving me nuts, I've been through over 100 posts but I just can't seem to get it working. Finally shooting this email on a Friday night in the hope of help as a final resort. Thanks much, Viranch

