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

271
Visualizações
¿Cómo ejecutar (múltiples) aplicaciones angulares dockerizadas con nginx dentro y nginx como proxy inverso?

tengo el siguiente problema: construyo una aplicación angular con nginx en docker... así:

 FROM node:slim as build WORKDIR /usr/local/app COPY ./ /usr/local/app/ RUN npm install RUN npm run build FROM nginx:latest COPY --from=build /usr/local/app/dist/myapp /usr/share/nginx/html EXPOSE 4200

cuando ahora construyo y ejecuto el dockerfile local... no hay problema, podría ingresar "localhost: 4200" y llegar a mi aplicación. Después de que eso funcione, configuro las acciones de github y copio mi código vis ssh en mi servidor vps. En este servidor tengo un nginx, que funciona como proxy inverso. La configuración de nginx para mi aplicación angular se ve así:

 server { listen 80; return 301 https://$host$request_uri; } server { listen 443; server_name mydomain.com; ssl_certificate /etc/ssl/certs/mydomain.com/cert.pem; ssl_certificate_key /etc/ssl/certs/mydomain.com/key.pem; ssl on; access_log /var/log/nginx/access.log; location / { proxy_pass http://0.0.0.0:4200; } }

Creo el certificado ssl a través de cloudflare y configuro el tls en modo estricto. Ahora pensé cuando ingresé a mydomain.com -> va a mi servidor ubuntu con el nginx instalado, verifica el certificado y luego redirige al contenedor docker, pero no sucede nada cuando intento llegar a mi sitio, aparece un 502 Mala puerta de enlace....

También probé esta configuración nginx (sin cloudflare y ssl) pero también obtuve un 502

 server { listen 80 http2; server_name mydomain.com; location / { proxy_set_header Host $host; proxy_pass http://localhost:4200; } }

¿Podrías ayudarme? Actualmente no entiendo por qué eso no funcionará.

(Expuse el puerto 4200 y ejecuté la aplicación angular de esta manera: docker run -p 4200:4200 myapp cuando ingreso netstat -tulpn siempre dice que docker se ejecuta en el puerto 4200 ... pero cuando hago curl en mi linux dice: (56) Recv failure: Connection reset by peer )

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

0

Tienes que implementar la aplicación como sitio estático. No debe usar ng serve en producción con el puerto 4200.

Hacer esto

  1. Cree la aplicación como sitio estático
  2. Copie eso en la ubicación de NgInx /usr/share/nginx/html
  3. Actualice NgInx para servir desde /usr/share/nginx/html

Aquí está el archivo NgInx actualizado

 user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { upstream springboot { server localhost:8080 max_conns=10; } server { listen 80; listen [::]:80; server_name <server ip>; location / { root /usr/share/nginx/html; try_files $uri $uri/ /index.html; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } } ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; }
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