changeset 7306:8eab05b83dde

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 02 Jul 2018 19:02:31 +0300
parents 6cfd45d4c754
children ece9b5454b8a
files src/http/ngx_http_upstream.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -1556,6 +1556,10 @@ ngx_http_upstream_connect(ngx_http_reque
     c->sendfile &= r->connection->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) {
 
         /* we need separate pool here to be able to cache SSL connections */