[PATCH] Correctly flush request body to uwsgi with SSL

Maxim Dounin mdounin at mdounin.ru
Tue Jun 16 18:28:08 UTC 2020


Hello!

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.

Committed.

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx-devel mailing list