# /proxy/nginx.conf # 1. Definimos los "upstreams", que son nuestros servicios de backend. # Nginx usará los nombres de servicio definidos en docker-compose. upstream api_server { server chatbot-api:80; } upstream widget_server { server chatbot-widget:80; } upstream admin_server { server chatbot-admin:80; } # 2. Servidor para la API y el Widget server { listen 80; # Puerto de escucha para el tráfico principal (API y Widget) # Regla para la API: si la URL empieza con /api/, reenvíala al contenedor de la API. location /api/ { proxy_pass http://api_server; 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 $scheme; } # Regla para el Widget: si es cualquier otra cosa, asume que es para el widget. location / { proxy_pass http://widget_server; 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 $scheme; } } # 3. Servidor separado para el Panel de Administración server { listen 81; # MISMA REGLA DE API location /api/ { proxy_pass http://api_server; 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 $scheme; } # El resto del tráfico va al frontend del admin location / { proxy_pass http://admin_server; 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 $scheme; } }