Upstream: fixed unexpected tcp_nopush usage on peer connections.

Now tcp_nopush on peer connections is disabled if it is disabled on
the client connection, similar to how we handle c->sendfile.  Previously,
tcp_nopush was always used on upstream connections, regardless of
the "tcp_nopush" directive.
This commit is contained in:
Maxim Dounin 2018-07-02 19:02:31 +03:00
parent d842b4e5e0
commit 1331a99f5c

View File

@ -1556,6 +1556,10 @@ ngx_http_upstream_connect(ngx_http_request_t *r, ngx_http_upstream_t *u)
c->sendfile &= r->connection->sendfile; c->sendfile &= r->connection->sendfile;
u->output.sendfile = c->sendfile; u->output.sendfile = c->sendfile;
if (r->connection->tcp_nopush == NGX_TCP_NOPUSH_DISABLED) {
c->tcp_nopush = NGX_TCP_NOPUSH_DISABLED;
}
if (c->pool == NULL) { if (c->pool == NULL) {
/* we need separate pool here to be able to cache SSL connections */ /* we need separate pool here to be able to cache SSL connections */