Oh, your backend looks like it's tomcat? Some tomcat versions mishandle HTTP 1.1 and keep-alive so the http-pretend-keepalive was added a while ago to handle servers like that. Does that work better?
-Bryan On Wed, Jan 30, 2013 at 1:36 PM, Chris Burroughs <[email protected]>wrote: > Form curl: > < HTTP/1.1 200 OK > < Server: Apache-Coyote/1.1 > < Cache-Control: max-age=72 > < Content-Type: application/json;charset=UTF-8 > < Date: Wed, 30 Jan 2013 21:31:14 GMT > < Connection: close > < > * Closing connection #0 > > as opposed to ending with something like > * Connection #0 to host HOST left intact > with no Connection: close > > Maybe to rephrase. Can I have haproxy<-->client use keepalive when > haproxy<-->backend is explicitly closeing and not using keepalive (set > in both haproxy and the backend'ss configuration). > > > > On 01/30/2013 02:36 PM, Bryan Talbot wrote: > > If you're asking for keep-alive from client to haproxy and no keep alive > > from haproxy to server, then that's what the http-server-close option > > provides. > > > > What makes you think that keep alive is not working? > > > > -Bryan > > > > > > On Wed, Jan 30, 2013 at 6:32 AM, Chris Burroughs > > <[email protected]>wrote: > > > >> We are using haproxy with tproxy to front of our various web services. > >> Most of them are very short lived one-off requests, so we have generally > >> optimised for closing everything quickly and getting out of the way. We > >> have a new case where we would like client keep-alives, while maintain > >> are traditional quick close on the backend behavior. We tried removing > >> "option httpclose", but that did not seem to work. > >> > >> Is it possible to have haproxy send http keep-alives to the client of > >> the backend has no keep-alives and is setting "Connection: close"? > >> > >> global > >> maxconn 65536 > >> pidfile /var/run/haproxy.pid > >> daemon > >> nbproc 6 > >> log 127.0.0.1 local4 debug > >> defaults > >> mode http > >> log global > >> option http-server-close > >> option contstats > >> timeout client 9s > >> timeout server 9s > >> timeout connect 5s > >> timeout http-request 7s > >> maxconn 65536 > >> > >> listen http_proxy 0.0.0.0:80 > >> mode http > >> stats enable > >> stats uri /ha-stats > >> stats auth haprox:stats > >> source 0.0.0.0 usesrc clientip > >> log global > >> balance roundrobin > >> option httpchk HEAD /live-lb HTTP/1.0 > >> > >> > > > > -- Bryan Talbot Architect / Platform team lead, Aeria Games and Entertainment Silicon Valley | Berlin | Tokyo | Sao Paulo

