Proxy buffering

Maxim Dounin mdounin at mdounin.ru
Fri Nov 15 10:51:15 UTC 2013


Hello!

On Thu, Nov 14, 2013 at 10:37:03PM -0600, Andrew Tynefield wrote:

> I've configured nginx as a load balancing proxy for my backend servers. My
> backend is expecting multi-part uploads for large files in small chunks
> (5-15mb). The issue I'm encountering, is that I would like for nginx to
> just pass the chunked data along to the backend servers and not buffer the
> requests.

[...]

>                 proxy_buffering off;

[...]

> I have tried disabling buffers as shown above, however, when I capture the
> packets on the backend servers, I see that the stream of data doesn't occur
> until after the full body of the upload has completed.

The proxy_buffering directive disables response buffering, not 
request buffering.

As of now, there is no way to prevent request body buffering in 
nginx.  It's always fully read by nginx before a request is passed 
to an upstream server.  It's basically a part of nginx being a 
web accelerator - it handles slow communication with clients by 
itself and only asks a backend to process a request when 
everything is ready.

Implementing unbuffered uploads is in plans, no ETA though.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



More information about the nginx mailing list