2025-11-20 14:06:26 -03:00
|
|
|
# /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 {
|
2025-11-20 15:07:01 -03:00
|
|
|
listen 81;
|
2025-11-20 14:06:26 -03:00
|
|
|
|
2025-11-20 15:07:01 -03:00
|
|
|
# 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
|
2025-11-20 14:06:26 -03:00
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|