Tengo una aplicación Node 10 que se ejecuta en Elastic Beanstalk y arroja errores 413 cuando la carga útil de la solicitud supera ~1 MB.
<html> <head> <title>413 Request Entity Too Large</title> </head> <body> <center> <h1>413 Request Entity Too Large</h1> </center> <hr> <center>nginx/1.16.1</center> </body> </html>
La solicitud no llega a mi aplicación en absoluto; está siendo rechazado por nginx.
Intenté configurar AWS para aumentar el tamaño del cuerpo de solicitud permitido en función de esta respuesta , sin éxito.
Intenté agregar un archivo en .ebextensions/01_files.config
con el contenido:
files: "/etc/nginx/conf.d/proxy.conf" : mode: "000755" owner: root group: root content: | client_max_body_size 20M;
Eso no funcionó, así que intenté agregar el archivo directamente a .ebextensions/nginx/conf.d/proxy.conf
con solo:
client_max_body_size 20M;
Y esto tampoco funcionó. Luego ingresé a la instancia mediante SSH y agregué el archivo directamente. Al volver a implementar, todo el directorio conf.d
se eliminó y se reescribió, sin este archivo.
¿Cómo puedo hacer que AWS Elastic Beanstalk con Node.js 10 se ejecute en Amazon Linux 2/5.1.0 de 64 bits para aceptar la configuración nginx?
La configuración de nginx
que intenta usar ( /etc/nginx/conf.d/proxy.conf
) es para Amazon Linux 1 .
Dado que está utilizando Amazon Linux 2 , debe utilizar diferentes archivos para configurar nginx. Para AL2, la configuración de nginx debe estar en .platform/nginx/conf.d/
, no en .ebextentions
como se muestra en los documentos .
Por lo tanto, podría tener el siguiente .platform/nginx/conf.d/myconfig.conf
con contenido:
client_max_body_size 20M;
Lo anterior es solo un ejemplo del archivo de configuración. No puedo verificar si la configuración realmente funcionará, pero definitivamente está usando carpetas incorrectas para configurar las opciones de nginx.
Mi recomendación sería intentar que funcione manualmente a través de ssh como lo está intentando ahora. Es posible que necesite sobrescribir toda la configuración de nginx si nada funciona proporcionando su propio .platform/nginx/nginx.conf
.
agregando client_max_body_size 20M;
en la carpeta .platform/nginx/conf.d/proxy.conf
me lo arregló. Asegúrese de verificar si está utilizando Amazon Linux 2