Nginx 502 Bad Gateway S3 Upload

Posted November 27, 2016 6.2k views
NginxUbuntu 16.04

I am running a Phoenix (Elixir) application and using arc and ex_aws to upload images to S3. Arc will stream the upload to S3. However, a PATCH with the uploaded base64 image immediately returns a 502.

So one theory is nginx is getting confused b/c it is streaming the upload but receives a response early and nginx thinks something went wrong. The reason why I believe Nginx is causing this is b/c uploading locally on my Mac works perfectly.

Here is the nginx configuration:

Any thoughts would be greatly appreciated!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

You may need to adjust the proxy buffer size to prevent 502s when uploading via the nginx proxy. This page covers some solutions to this issue. Having something like the following in your configuration should help:

# define buffers, necessary for proper communication to prevent 502s
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;