client_max_body_size está en el archivo de configuración de Nginx, pero parece que está siendo ignorado.
Me encuentro con el código de estado 413 Request Entity Too Large. Estoy ejecutando una instancia AMI de Amazon Linux 2 en Elastic Beanstalk de AWS, que está ejecutando un servidor express con una ruta post que carga archivos en un Bucket de S3 y luego agrega datos a una tabla y produce un mensaje kafka. Todo funciona correctamente con archivos de menos de 1MB de tamaño.
Entiendo que el valor predeterminado de tamaño máximo de nginx es de 1MB y que debo cambiarlo.
He probado todas las respuestas en esta publicación https://stackoverflow.com/questions/18908426/increasing-client-max-body-size-in-nginx-conf-on-aws-elastic-beanstalk pero a pesar de agregar client_max_body_size 10M; dentro del archivo nginx.conf y reiniciar nginx cada vez que cambié una configuración, utilizando nginx -t para ver si había algún error en la sintaxis, que resultó en todo estando bien, y finalmente comprobando mediante este comando que la línea client_max_body_size 10M; estaba efectivamente allí, cuando acusó que había un duplicado de ella dentro del archivo, todas estas configuraciones parecían ser completamente ignoradas por mi micro-servicio cada vez que intento enviar un archivo mayor a 1MB.
También intenté colocar mis archivos de configuración dentro de una estructura .platform/conf.d/, lo cual hizo que client_max_body_size 10M; se incluyera en el archivo nginx.conf, pero aun así no hizo ninguna diferencia para mi solicitud.
También he probado recargar y reiniciar el servicio de nginx, sin éxito.
No tengo muchas ideas sobre cómo proceder a partir de aquí. ¿Alguna sugerencia?
davy.ai
Solución para el código de estado 413 Request Entity Too Large en Amazon Elastic Beanstalk
Problema
Te encuentras con el código de estado 413 Request Entity Too Large al cargar archivos de tamaño superior a 1MB. Estás ejecutando una instancia de Amazon Linux 2 AMI en Elastic Beanstalk de AWS, la cual está ejecutando un servidor Express con una ruta de envío que carga archivos en un Bucket de S3 y luego agrega algunos datos a una tabla y produce un mensaje Kafka.
Solución
Para aumentar el valor de tamaño máximo de Nginx desde el valor predeterminado de 1MB, sigue estos pasos:
.ebextensions
en el nivel raíz de tu proyecto si aún no existe..config
dentro del directorio.ebextensions
. Puedes nombrar el archivo como desees, pero asegúrate de que tenga la extensión.config
..config
, agrega el siguiente bloque de código:Esto creará un nuevo archivo llamado
proxy.conf
dentro del directorio/etc/nginx/conf.d/
de Nginx y agregará la líneaclient_max_body_size 10M;
a dicho archivo..config
. Una vez que la aplicación esté implementada, ejecuta los siguientes comandos a través de SSH:Estos comandos reiniciarán los servicios de Nginx y registros de AWS para asegurar que los cambios surtan efecto.
Con esta configuración, deberías poder cargar archivos de hasta 10MB a través de tu servidor Express sin encontrar el error 413.