Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

386
Views
Elastic Beanstalk: `.ebextensions` no se ejecuta

Estoy implementando una aplicación PHP en Beanstalk y todo parece estar bien, sin embargo, mis archivos de configuración .ebextensions no parecen estar ejecutándose.

Solo tengo un único archivo de configuración que se supone que crea un archivo y luego vuelve a cargar nginx.
/my-project/.ebextensions/nginx.config :

 files: "/etc/nginx/conf.d/elasticbeanstalk/extend-nginx.conf" : mode: "000755" owner: root group: root content: | add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; location / { try_files $uri $uri/ /index.php?$query_string; } container_commands: reload_nginx: command: "sudo service nginx reload"

Mi arquitectura es actualmente:
1. CodePipeline conectado a GitHub que implementa la aplicación en CodeDeploy cada vez que se actualiza el maestro.
2. CodeDeploy recibe la implementación de CodePipeline.
3. CodeDeploy lo instala en la instancia de Elastic Beanstalk.

Todos los pasos anteriores funcionan bien. Simplemente no entiendo por qué el archivo de configuración en .ebextensions no crea el archivo como se esperaba.

Nota: He confirmado que la carpeta .ebextensions está en la raíz de la revisión .zip al descargar manualmente una de las revisiones y verificar.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Para mí, estaba confundido por qué un archivo que estaba tratando de crear no aparecía cuando estaba implementando. La implementación tuvo un error y el sistema eliminaría automáticamente el archivo debido al error en lugar de permitir que persistiera mientras se revertía a su estado anterior en caso de falla. Esto me dio la falsa idea de que el archivo nunca se creó en primer lugar.

Pude determinar esto desde /var/log/nginx/error.log que dio lo siguiente:

 2020/07/29 20:11:36 [emerg] 23006#0: "gzip" directive is duplicate in /var/proxy/staging/nginx/conf.d/elasticbeanstalk/gzip.conf:1

lo que significaba que, al menos para mí, necesitaba anular nginx.conf en lugar de agregar un archivo de configuración. Asegúrese de no recibir errores con su implementación si no ve que se crea un archivo.

over 4 years ago · Santiago Trujillo Report

0

Intente simplemente poner este archivo en .ebextensions/nginx/conf.d/elasticbeanstalk sin un script.

Al menos así es como funciona la plataforma Java SE: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-nginx.html . No creo que esto sea diferente para PHP.

También en su instancia de EC2 verifique la salida de los archivos de registro (cfn-init.log, cfn-init-cmd.log, etc.).

over 4 years ago · Santiago Trujillo Report

0

¿Puedo remitirlo al siguiente enlace que describe la forma oficial de configurar el proxy inverso nginx en entornos EB?

[1] Configuración del servidor proxy: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/nodejs-platform-proxy.html

Otra opción es usar el comando similar a 'sed' para actualizar la configuración de nginx en su lugar, de la siguiente manera:

 container_commands: enable_websockets: command: | sed -i '/\s*proxy_set_header\s*Connection/c \ proxy_set_header Upgrade $http_upgrade;\ proxy_set_header Connection "upgrade";\ ' /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!