He buscado en todas las posibles publicaciones de stackoverflow y he probado todos los diferentes enfoques. Ninguno funcionó. Parece que tampoco hay documentación oficial sobre esto. Todo funciona bien en mi aplicación local y puedo cargar imágenes de cualquier tamaño, pero tan pronto como se implementa en mi Beanstalk elástico, parece que tengo un límite de 1M por carga de imagen.
El problema: cada vez que un usuario publica una imagen de más de 1 MB, recibo el mensaje de error 413 con nginx.
Registro de Elastic Beanstalk: 2020/07/28 17:22:53 [error] 10404#0: *62 cliente destinado a enviar un cuerpo demasiado grande: 2800500 bytes, cliente: 172.31.18.162, servidor:, solicitud: "POST /comentario/ image_post/11003031 HTTP/1.1", host: "myapp.com", referente: "https://myapp.com/11003031"
Lo que hice para tratar de resolver el problema:
Creé una carpeta .ebextensions en mi nodo, la carpeta raíz de la aplicación js, agregué el siguiente código y lo llamé proxi.config, y lo envié a mi github que se implementa en Elastic Beanstalk a través de una canalización. Puedo ver proxi.config en mi repositorio, pero por alguna razón el equilibrador de carga lo sobrescribe automáticamente (supongo por lo que he estado leyendo).
proxi.config container_commands: 01_reload_nginx: command: "service nginx reload" files: "/etc/nginx/conf.d/proxy.conf": mode: "000755" owner: root group: root content: | client_max_body_size 25M;Si esto es complicado de solucionar, ¿no hay otra forma de aumentar el límite de 1M?
La razón probable por la que no se usa su proxy.conf es porque está usando la versión actual de EB, que se ejecuta en Amazon Linux 2 (AL2). Sin embargo, la configuración de proxy que intenta usar es para la versión anterior de EB que se ejecuta en AL1.
Para AL2, la configuración de nginx debe colocarse en la carpeta .platform , no en .ebextenations como se muestra en los documentos .
Así puedes probar lo siguiente:
Archivo .platform/nginx/conf.d/myconfig.conf con el contenido de
client_max_body_size 25M; Tenga en cuenta que no puedo verificar la configuración de nginx por sí mismo. Es posible que aún no funcione, ya que puede tener una configuración incorrecta o una forma incorrecta. Pero el uso de .ebextenations en lugar de .platform es definitivamente un problema en los entornos AL2 EB.