¿Cómo soluciono el error «413 Request Entity Too Large» cuando subo archivos a mi entorno de Elastic Beanstalk?

3 minutos de lectura
0

Quiero personalizar el valor «client_max_body_size» en mi configuración de NGINX para poder cargar archivos de gran tamaño en mi entorno de AWS Elastic Beanstalk.

Resolución

El límite de carga de archivos predeterminado de NGINX es de 1 MB. Para cargar archivos de más de 1 MB, actualice el valor client_max_body_size.

Importante: M y MB son expresiones equivalentes para «megabyte». Por ejemplo, 2 M equivale a 2 MB. Sin embargo, la configuración de NGINX solo acepta «M» como valor de sintaxis válido. No hay espacio entre el número y la letra «M».

Nota: Para personalizar la configuración de proxy predeterminada para todas las versiones de las plataformas Amazon Linux 2 y Amazon Linux 2023, consulte Extending Elastic Beanstalk Linux platforms.

Para configurar el valor client_max_body_size en Amazon Linux 2 y Amazon Linux 2023, complete los pasos siguientes:

  1. Cree un archivo de configuración.conf denominado client_max_body_size.conf que incluya lo siguiente:

    client_max_body_size 50M;
  2. Copie el archivo .conf client_max_body_size.conf en una carpeta denominada .platform/nginx/conf.d/ del paquete de código fuente de la aplicación.

    Nota: La configuración de NGINX de Elastic Beanstalk incluye automáticamente los archivos.conf en la carpeta .platform. Asegúrese de crear esta ruta si el archivo .conf no existe en su paquete de origen.

El siguiente ejemplo muestra la estructura del directorio .platform y del archivo .conf en el archivo zip de la aplicación en la plataforma Java SE. La carpeta .platform debe estar ubicada en la raíz del paquete de origen de la aplicación para todas las plataformas Linux. Para obtener más información sobre la agrupación de aplicaciones, consulte la documentación de su plataforma.

~/my-app.zip/
|-- web.jar
|-- Procfile
|-- readme.md  
`-- .platform/
    |-- nginx/                # Proxy configuration
    |   `-- conf.d/
    |       `-- client_max_body_size.conf
  1. Implemente la nueva versión de la aplicación en su entorno de Elastic Beanstalk.
  2. Use SSH para iniciar sesión en la instancia de Amazon Elastic Compute Cloud (Amazon EC2) que se ejecuta en su entorno de Elastic Beanstalk.
  3. Para comprobar que la sintaxis de configuración de NGINX es correcta y que se aplican los cambios realizados en el valor client_max_body_size, ejecute el siguiente 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;

Información relacionada

Create an application source bundle

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 4 meses