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

268
Views
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 answers
Answer question

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 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!