Uploading large files to AWS Elastic Beanstalk / nginx

Viewed 402

I have an application that uploads a file which works fine on Heroku and on local developer machines - but on AWS EB, the upload is interrupted and doesn't complete.

I've set the nginx directives as follows

.ebextensions/00_project.config

files:
    "/etc/nginx/conf.d/proxy.conf" :
        mode: "000755"
        owner: root
        group: root
        content: |
            client_max_body_size 2000M
            client_body_buffer_size 2000M
option_settings:
  "aws:elasticbeanstalk:container:python":
    WSGIPath: server:application

.platform/nginx/conf.d/proxy.conf

client_max_body_size 2000M;
client_body_buffer_size 2000M;

.platform/nginx/00_myconf.config

container_commands:
  01_reload_nginx:
    command: "service nginx reload"

This is running python3.8 and using a plotly/react framework called Dash. https://dash.plotly.com/introduction

As mentioned, it's only not working on AWS so it appears to be a system config issue. To confirm this, I uploaded a large file to a public bucket and had this app read from the bucket instead of the upload and it worked fine.

I've exhausted all options so any help muchly appreciated!

1 Answers

After prompting from kgiannakakis, I checked the logs and was found a "web: MemoryError" line in the web.stdout.log file.

So I upgraded the EB instance to something a bit bigger and it managed to fix the issue... so essentially I was running out of memory and needed to pay AWS more money to get more memory.

Related