summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2015-04-06 19:20:36 +0300
committerValentin Bartenev <vbart@nginx.com>2015-04-06 19:20:36 +0300
commit3f72e18908bd71d20bca6923163ce8b5b194285d (patch)
tree5f61634bef4fc2b38ca3b573d5d114d4f7fce9ee
parent1329c4af80c93d5f0157728a009196199a42c472 (diff)
downloadnginx-3f72e18908bd71d20bca6923163ce8b5b194285d.tar.gz
Request body: always flush buffers if request buffering is off.
This fixes unbuffered proxying to SSL backends, since it prevents ngx_ssl_send_chain() from accumulation of request body in the SSL buffer.
-rw-r--r--src/http/ngx_http_request_body.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c
index ac5b530ba..9c169845e 100644
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -949,6 +949,7 @@ ngx_http_request_body_length_filter(ngx_http_request_t *r, ngx_chain_t *in)
b->pos = cl->buf->pos;
b->last = cl->buf->last;
b->end = cl->buf->end;
+ b->flush = r->request_body_no_buffering;
size = cl->buf->last - cl->buf->pos;
@@ -1056,6 +1057,7 @@ ngx_http_request_body_chunked_filter(ngx_http_request_t *r, ngx_chain_t *in)
b->pos = cl->buf->pos;
b->last = cl->buf->last;
b->end = cl->buf->end;
+ b->flush = r->request_body_no_buffering;
*ll = tl;
ll = &tl->next;