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

275
Visualizações
Mapa de proxy inverso de Nginx para múltiples frontend y backend

Tengo un frontend angular y un backend node.js, que quiero implementar para clientes en diferentes países. Necesitamos para cada país un contenedor frontend y backend. Entonces, la idea es que nginx debería redirigir al contenedor correcto dentro del entorno de composición de docker según la ruta:

ejemplo.com/us/frontend -> us contenedor frontend

ejemplo.com/us/backend -> nosotros contenedor backend

ejemplo.com/fr/frontend -> fr contenedor frontend

ejemplo.com/fr/backend -> fr contenedor backend ...

He implementado hasta ahora:

docker-compose.yml

 version: "3" services: test-proxy: container_name: test-proxy image: nginx:latest depends_on: - example-frontend-us # References the service name. volumes: - ./config/nginx.conf:/etc/nginx/nginx.conf - ./content:/usr/share/nginx/html ports: - 80:80 # Publishs only port 80 outside of docker compose context. example-frontend-us: container_name: example-frontend-us image: angular-frontend ports: - 8081:80

nginx.conf:

 http { server { listen 80; server_name localhost 127.0.0.1; location = / { root /usr/share/nginx/html; try_files $uri /index.html; } location /us/frontend { proxy_pass http:/example-frontend-us:8081; proxy_set_header X-Forwarded-For $remote_addr; } } }

Si abro el navegador en localhost/us/frontend obtengo una respuesta 502 Bad Gateway

Si abro el navegador en localhost: 8081, la interfaz está funcionando.

¿Que esta mal aquí? ¿Cómo puedo lograr que nginx esté enrutando a los contenedores correctos?

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

0

Dentro de la red virtual creada por docker compose, usa los números de puerto internos. Asi que

 proxy_pass http:/example-frontend-us:8081;

debiera ser

 proxy_pass http://example-frontend-us:80;

(también te falta una barra diagonal en http://)

Finalmente, no necesita mapear el puerto en example-frontend-us a menos que desee poder acceder a él directamente y omitir nginx.

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