Ir para o conteúdo

Como faço para resolver o erro "413 Request Entity Too Large" quando faço upload de arquivos para meu ambiente Elastic Beanstalk?

3 minuto de leitura
0

Quero personalizar o valor "client_max_body_size" na minha configuração do NGINX para que eu possa fazer upload de arquivos grandes para meu ambiente do AWS Elastic Beanstalk.

Resolução

O limite padrão de upload de arquivos do NGINX é de 1 MB. Para carregar arquivos maiores que 1 MB, atualize o valor de client_max_body_size.

Importante: M e MB são expressões equivalentes para "megabyte". Por exemplo, 2 M é igual a 2 MB. No entanto, a configuração do NGINX aceita apenas "M" como um valor de sintaxe válido. Não há espaço entre o numeral e a letra "M".

Observação: para personalizar a configuração de proxy padrão para todas as versões de plataforma do Amazon Linux 2 e do Amazon Linux 2023, consulte Extending Elastic Beanstalk Linux platforms.

Para configurar o valor client_max_body_size no Amazon Linux 2 e no Amazon Linux 2023, conclua as etapas a seguir:

  1. Crie um arquivo de configuração .conf chamado client_max_body_size.conf que inclua o seguinte:

    client_max_body_size 50M;
  2. Copie o arquivo .conf client_max_body_size.conf para uma pasta chamada . platform/nginx/conf.d/ no pacote de código-fonte da aplicação.

    Observação: a configuração do Elastic Beanstalk NGINX inclui arquivos .conf na pasta .platform automaticamente. Certifique-se de criar esse caminho se o arquivo .conf não existir em seu pacote de código-fonte.

O exemplo a seguir mostra a estrutura do diretório .platform e do arquivo .conf no arquivo zip do aplicação na plataforma Java SE. A pasta .platform deve ser colocada na raiz do pacote de código-fonte do aplicação para todas as plataformas Linux. Para obter mais informações sobre o agrupamento de aplicações, consulte a documentação da sua plataforma.

~/my-app.zip/
|-- web.jar
|-- Procfile
|-- readme.md  
`-- .platform/
    |-- nginx/                # Proxy configuration
    |   `-- conf.d/
    |       `-- client_max_body_size.conf
  1. Implante a nova versão da aplicação no seu ambiente do Elastic Beanstalk.
  2. Use o SSH para fazer login na instância do Amazon Elastic Compute Cloud (Amazon EC2) em execução no seu ambiente do Elastic Beanstalk.
  3. Para verificar se a sintaxe de configuração do NGINX está correta e se as alterações feitas no valor client_max_body_size foram aplicadas, execute o seguinte comando.
    $ sudo nginx -T | egrep -i "client_max_body_size"
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
    client_max_body_size 50M;

Informações relacionadas

Create an application source bundle

AWS OFICIALAtualizada há um ano