Hi,

> As far as I see HAProxy removes that header if its contained in the
> response from the backend (nginx with keepalive enabled) because
> RC7230 says so:

The "Connection:  keep-alive" header doesn't exist in HTTP/1.1,
as HTTP/1.1 implies keep-alive by default. If you don't want to
keep-alive in HTTP/1.1, "Connection: close" is used.

"Connection: keep-alive" is therefor a HTTP/1.0 header only.
See RFC2616 section-14.10 [1].


Also, HTTP persistence/keep-alive state is supposed to be
fully independent on the client and the origin server side.
A connection can be keep-alived towards the client and closed
towards the origin server (http-server-close mode in haproxy).

Thats why a connection header is not forwarded.

Also see RFC2616 section-8.1.3 [2]:
> The proxy server MUST signal persistent connections separately with
> its clients and the origin servers (or other proxy servers) that it
> connects to. Each persistent connection applies to only one transport
> link.



Hope this helps,

Lukas



[1] https://tools.ietf.org/html/rfc2616#section-14.10
[2] https://tools.ietf.org/html/rfc2616#section-8.1.3

                                          

Reply via email to