[PATCH] Correctly flush request body to uwsgi with SSL
mdounin at mdounin.ru
Tue Jun 16 18:28:08 UTC 2020
On Mon, Jun 15, 2020 at 06:16:32PM -0400, Quantum wrote:
> # HG changeset patch
> # User Quantum <quantum2048 at gmail.com>
> # Date 1592256926 14400
> # Mon Jun 15 17:35:26 2020 -0400
> # Node ID eff63a5758aaca39545fd81bb646194987ae0ee3
> # Parent d127837c714f398e04cc8cf26f922c845fb7a6e8
> Correctly flush request body to uwsgi with SSL
> The flush flag was not set when forwarding the request body to the uwsgi
> server. When using uwsgi_pass suwsgi://..., this causes the uwsgi server
> to wait indefinitely for the request body and eventually time out due to
> SSL buffering.
> This is essentially the same change as 4009:3183165283cc, which was made
> to ngx_http_proxy_module.c.
> This will fix the uwsgi bug https://github.com/unbit/uwsgi/issues/1490.
> diff -r d127837c714f -r eff63a5758aa src/http/modules/ngx_http_uwsgi_module.c
> --- a/src/http/modules/ngx_http_uwsgi_module.c Mon Jun 08 11:40:34 2020 +0300
> +++ b/src/http/modules/ngx_http_uwsgi_module.c Mon Jun 15 17:35:26 2020 -0400
> @@ -1141,6 +1141,7 @@
> r->upstream->request_bufs = cl;
> + b->flush = 1;
> cl->next = NULL;
> return NGX_OK;
Thanks for the patch.
Rather, it looks like a combination of 4009:3183165283cc and a
much earlier fix from 611:3f8a2132b93d (nginx 0.3.7). The
4009:3183165283cc change itself is about exotic modes like
"proxy_pass_request_body off;" or "proxy_set_body <something>;",
while the most common case was fixed in 611:3f8a2132b93d.
More information about the nginx-devel