Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

447
Visualizações
La implementación de Beanstalk ignora mis archivos de configuración nginx en .ebextensions

Alojo mi aplicación web Java en un entorno de Elastic Beanstalk de una sola instancia y agregué varios archivos ebextension que crean correctamente archivos de configuración para mí en cada implementación. Sin embargo, no puedo encontrar una manera de hacer que Beanstalk agregue nuevas configuraciones dentro de los directorios /etc/nginx o /etc/nginx/conf.d .

Seguí los pasos descritos aquí: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-java.html

La estructura de mi paquete de implementación se ve así:

 $ zip -r deploy.zip api-1.0-SNAPSHOT-all.jar .ebextensions adding: api-1.0-SNAPSHOT-all.jar (deflated 11%) adding: .ebextensions/ (stored 0%) adding: .ebextensions/ssl-certificates.config (deflated 37%) adding: .ebextensions/https-instance-securitygroup.config (deflated 38%) adding: .ebextensions/nginx/ (stored 0%) adding: .ebextensions/nginx/conf.d/ (stored 0%) adding: .ebextensions/nginx/conf.d/https.conf (deflated 61%)

Mis archivos son copias casi 1 a 1 de muestras en la guía anterior.

Durante la implementación, mis dos archivos *.config se ejecutan correctamente, pero falta /etc/nginx/conf.d/https.conf . Traté de solucionar el problema eliminando el directorio .ebextensions/nginx y reemplazándolo con otro archivo .config que crea /etc/nginx/conf.d/https.conf desde cero, pero esto no ayudó y el archivo aún estaba perdido.

Hice ssh en mi instancia de EC2 y esto es lo que encontré en /var/log/eb-engine.log :

 2020/05/03 19:42:37.754375 [INFO] Executing instruction: configure proxy Nginx 2020/05/03 19:42:37.754393 [WARN] skipping nginx folder under .ebextensions 2020/05/03 19:42:37.754670 [INFO] No plugin in cfn metadata.

Siento que podría haberme perdido algo muy obvio aquí, pero sorprendentemente no pude encontrar ninguna solución a mi problema. ¿Pensamientos? ¡Gracias!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Acabo de resolver el mismo problema.

puede resolver el problema fácilmente configurando la siguiente estructura de directorios.

 ~/my-app/ |-- readme.md |-- .ebextensions/ | |-- options.config # Option settings | -- cloudwatch.config # Other .ebextensions sections, for example -- .platform/ -- nginx/ # Proxy configuration |-- nginx.conf -- conf.d/ -- custom.conf -- elasticbeanstalk |-- server.conf

para obtener más información, consulte esta url

my /var/log/eb-engine.log mostró la siguiente línea de mensaje.

 Running command /bin/sh -c cp -rp /var/app/staging/.platform/nginx/. /var/proxy/staging/nginx
over 4 years ago · Santiago Trujillo Relatório

0

Estaba enfrentando el mismo problema. La solución es colocar el archivo https.conf en la ruta .platform/nginx/conf.d/https.conf y comprimirlo en el paquete de implementación.

Ver "Configuración de proxy inverso" en este enlace .

over 4 years ago · Santiago Trujillo Relatório

0

Siento que soy la única persona en Internet con este problema. ;-)

Después de profundizar un poco más en los registros, me di cuenta de que Beanstalk simplemente sobrescribe mi configuración de nginx al final de un proceso de implementación. Esto significó que todos los archivos que crearon mis .ebextensions se perdieron.

No he logrado encontrar una solución "adecuada", pero lo solucioné con un enlace posterior a la implementación. Mi archivo de configuración de nginx ahora se genera en /home/ec2-user , en lugar de /etc/nginx , así:

 files: /home/ec2-user/https.conf: content: | server { listen 443; server_name localhost; ssl on; ssl_certificate /etc/pki/tls/certs/server.crt; ssl_certificate_key /etc/pki/tls/certs/server.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Connection $connection_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }

Y luego en .platform/hooks/postdeploy/99_hack_nginx.sh (asegúrese de que este directorio esté incluido en su paquete de implementación, de la misma manera que .ebextensions ):

 cp /home/ec2-user/https.conf /etc/nginx/conf.d sudo systemctl reload nginx

Asegúrese de que tiene un modo adecuado:

 chmod +x .platform/hooks/postdeploy/99_hack_nginx.sh

Implemente y disfrute de su tráfico HTTPS.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda