Eu tive o mesmo problema ao configurar um proxy Nginx para um registro do Docker. Acabei fazendo:
client_max_body_size 0;
proxy_http_version 1.1;
proxy_request_buffering off;
client_max_body_size
ainda tinha que ser 0 para evitar o erro, mas watch -n 1 du -hs .
mostrou claramente uma diferença. Buffering fez os dados aparecerem após a solicitação, nenhum buffer fez aparecer durante a solicitação.
proxy_http_version 1.1
é necessário devido à codificação em partes. Citação dos documentos do Nginx:
When HTTP/1.1 chunked transfer encoding is used to send the original request body, the request body will be buffered regardless of the directive value unless HTTP/1.1 is enabled for proxying.