Help with Keepalive on NGINX

Nick Toseland nick at livejournalinc.com
Fri Jul 26 13:54:46 UTC 2013


Hi Maxim,

Thanks for the reply, a great help. works as expected now :-)

Have a good weekend

Cheers

Nick

On Fri Jul 26 11:03:21 2013, Maxim Dounin wrote:
> Hello!
>
> On Fri, Jul 26, 2013 at 10:33:42AM +0100, Nick Toseland wrote:
>
> > Hi All,
> >
> > I am struggling to get keepalives to work on Nginx, I believe I have
> > added the necessary configuration. Can you take a look and suggest
> > where I may be going wrong or what I am missing?
> >
> > We have a nginx server that sits in front of a varnish server which
> > sits in front of the back-end servers
> >
> > http {
> >
> >     keepalive_timeout  120;
> >     keepalive_requests 500;
> >
> >     upstream varnish_rand {
> >         server 172.21.1.1:80;
> >         keepalive 256;
> >     }
> >
> >     server {
> >         server_name    www.abc.com
> >
> >         location / {
> >
> >             proxy_pass   http://varnish_rand;
> >             proxy_http_version 1.1;
> >
> >             }
> > }
> >
> > You can see that the nginx server is using HTTP1.1 to communicate
> > with Varnish
> >
> > *varnishtop -i RxProtocol *
> > list length 1
> >
> >      9.67 RxProtocol     HTTP/1.1
> >
> > However there nginx always send a "connection close"
> >
> > *varnishtop -c -i RxHeader -I "Connection"*
> >
> > list length 1
> >
> >      9.59 RxHeader     Connection: close
>
> That's because nginx uses "Connection: close" by default,
> regardless of a protocol version used.  If you want keepalive to
> work, you have to instruct nginx to don't send "Connection:
> close" using the proxy_set_header directive.
>
> For more information see documentation at
> http://nginx.org/r/keepalive.
>



More information about the nginx mailing list