why between nginx/nginx upstream use http/1.0?

16.6k views Asked by At

I have 3 server: A(nginx)-->B(nginx)-->C(nodejs),

When i access A or B,chrome use http/1.1+keepalive by default.

I do not set "proxy_http_version 1.1;" and proxy_set_header Connection "";

But between A and B,NGINX use http/1.0 by default。That is like:

client --> nginxA(upstream to b) --> nginxB(upstream to c) -->C (nodejs)

http/1.1 --> http/1.0 --> http/1.1 --> nodejs

My questions is : why nginx use http/1.1 for upstream by default,between nginx and nginx, upstream use http/1.0 ?

THX.

1

There are 1 answers

1
Tymoteusz Motylewski On BEST ANSWER

Nginx since version 1.1.4 supports HTTP/1.1 when connecting to upstream servers. You just need to set configuration parameter proxy_http_version 1.1 (1.0 is the default value). see http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_version