When nginx sits behind Aliyun SLB, default proxy timeouts and body buffers are often too small for large uploads or slow clients. Snippet that helped in production:

client_max_body_size 128M;
client_body_buffer_size 4096k;

keepalive_timeout 10m;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_ignore_client_abort on;  # do not close if the client disconnects first

Tune values for your workload and SLB idle timeout settings.