Hi Dmitry, Le lundi 26 avril 2010 13:57:12, Dmitry Sivachenko a écrit : > When I put that server behind haproxy (version 1.4.4) I see the following: > > > 1) GET <some URL> HTTP/1.1 > Host: host.pp.ru > User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.3) > Gecko/2010041 > 4 Firefox/3.6.3 > Accept: text/javascript, application/javascript, */* > Accept-Language: en-us,ru;q=0.7,en;q=0.3 > Accept-Encoding: gzip,deflate > Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 > Keep-Alive: 115 > Connection: keep-alive > > 2) > HTTP/1.1 200 OK > Date: Mon, 26 Apr 2010 11:45:01 GMT > Expires: Mon, 26 Apr 2010 11:46:01 GMT > Content-Type: text/javascript; charset=utf-8 > Connection: Close > > <some data> > > I have > mode http > option http-server-close > option http-pretend-keepalive > > in my config (tried both with and without http-pretend-keepalive). > > Can you please explain in more detail what server makes wrong and why haproxy > adds Connection: Close header > (and why Firefox successfully uses HTTP keep-alive with the same server > without > haproxy).
HAProxy can't accept the connection to be keep-alived as it doesn't provide a Content-Length (nor the communication allows chunked transfer). Try to add a Content-Length header equal to your data length and Keep-Alive should be accepted. -- Cyril Bonté

