Seguí el consejo aquí para configurar el proxy inverso nginx para permitir archivos más grandes que el valor predeterminado de 1 mb. Entonces, mi código en /.platform/nginx/conf.d/prod.conf se ve así:
http { client_max_body_size 30M; }Sin embargo, esto parece no tener efecto, y nginx aún registra un error cuando intento cargar un archivo de más de 1 mb.
También intenté hacer esto sin http y llaves, como se detalla en la respuesta aceptada a esta pregunta , así:
client_max_body_size 30M;Esto tampoco tuvo ningún efecto.
Pensé que podría ser necesario reiniciar nginx después de aplicar la configuración, así que agregué un archivo en el directorio .ebextensions llamado 01nginx.config , que se ve así:
commands: 01_reload_nginx: command: "sudo service nginx reload"Esto tampoco tuvo ningún efecto.
He visto esta pregunta y la pregunta mencionada anteriormente, así como esta . Sin embargo, todos parecen obsoletos o no aplicables a una instancia de Amazon Linux 2, ya que ninguno de ellos menciona el directorio .platform de la documentación de elastic beanstalk mencionada anteriormente. En cualquier caso, ninguna de sus respuestas me ha funcionado hasta ahora. Entonces, ¿qué me estoy perdiendo?
Tengo un problema similar al pasar a Amazon Linux 2.
Simplemente crear un archivo en .platform/nginx/conf.d/ llamado proxy.conf con el contenido a continuación fue suficiente para mí.
client_max_body_size 50M;Si investiga la configuración principal de nginx, verá cómo este archivo se incluye en el medio del archivo, por lo que no es necesario que lo envuelva con http.
Esto es similar a la respuesta de Adam Tropp, pero sigue el ejemplo dado por AWS
A continuación funcionó para mí:
~/my-app/ |-- web.jar |-- Procfile |-- readme.md |-- .ebextensions/ | |-- options.config # Option settings | `-- cloudwatch.config # Other .ebextensions sections, for example files and container commands `-- .platform/ |-- nginx/ # Proxy configuration | |-- nginx.conf | `-- conf.d/ | `-- custom.confOk, después de muchos intentos, pude resolver esto así:
Agregue un archivo en el directorio .ebextensions llamado 01_reverse_proxy.config (el nombre no importa, creo que solo la parte .config)
En ese archivo, coloque exactamente esto:
files: "/etc/nginx/conf.d/proxy.conf" : mode: "000755" owner: root group: root content: | client_max_body_size 30M; commands: 01_reload_nginx: command: "service nginx reload"con el espacio YAML adecuado. Esto resuelve el problema en una pila que incluye Rails, Puma y Amazon Linux 2.11.4. Esta NO es la forma documentada en la documentación de las plataformas linux de elastic beanstalk .