Help with Keepalive on NGINX
Maxim Dounin
mdounin at mdounin.ru
Fri Jul 26 10:03:21 UTC 2013
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.
--
Maxim Dounin
http://nginx.org/en/donation.html
More information about the nginx
mailing list