On Fri, Aug 7, 2015 at 1:25 PM, ilan <ilan....@gmail.com> wrote: > Hi Support, > > I configured haproxy to forward request to backend server. > I did packet capture between browser and haproxy and noticed that > connection field in HTTP header is set to keep-alive. > > Then I did packet capture between haproxy and backend server, > I noticed that connection field in HTTP header is set to close. > > Could you please tell why haproxy is changing connection field > to close when sending request to backend server. > > I am new to web programming. Please apologize if i did not provide > enough information. Thanks for you help in advance. > > Here is my haproxy configuration, > > global > log /dev/log local0 > log /dev/log local1 notice > chroot /var/lib/haproxy > user haproxy > group haproxy > daemon > > defaults > log global > mode http > option httplog > option dontlognull > contimeout 5000 > clitimeout 50000 > srvtimeout 50000 > errorfile 400 /etc/haproxy/errors/400.http > errorfile 403 /etc/haproxy/errors/403.http > errorfile 408 /etc/haproxy/errors/408.http > errorfile 500 /etc/haproxy/errors/500.http > errorfile 502 /etc/haproxy/errors/502.http > errorfile 503 /etc/haproxy/errors/503.http > errorfile 504 /etc/haproxy/errors/504.http > > > listen appname 0.0.0.0:8002 > mode http > stats enable > stats uri /haproxy?stats > stats realm Strictly\ Private > stats auth root:admin123 > stats auth root:admin123 > balance roundrobin > option httpclose > option forwardfor > server lamp1 127.0.0.1:8001 > > Regards, > Ilan >
Hi Ilian You have this behavior because of option httpclose. Remove it and you'll have connection keep-alive. To make it clear, I would add a "option http-keep-alive" in the defaults section. And why not adding a "option prefer-last-server' which may help keeping the connection alive despite the load-balancing algorithm. Baptiste