server { listen 80; server_name scoreodonto.com www.scoreodonto.com; # Limite de upload para mídias do WhatsApp client_max_body_size 100M; # Resolver DNS interno do Docker para resolução dinâmica resolver 127.0.0.11 valid=30s; # Proxy para o Backend (Express API) location /api/ { set $backend_upstream http://scoreodonto-backend:8018; rewrite ^/api/api/(.*)$ /api/$1 break; proxy_pass $backend_upstream; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; 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; } # Proxy para o Socket.io (Realtime Events) location /socket.io/ { set $backend_upstream http://scoreodonto-backend:8018; proxy_pass $backend_upstream; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; 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; } # Proxy /nw/* para o Backend — a Secretária IA do motor NewWhats consulta # os dados desta clínica (rotas /nw/* do plugin satélite). location /nw/ { set $backend_upstream http://scoreodonto-backend:8018; proxy_pass $backend_upstream; proxy_http_version 1.1; 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; } # Proxy para o Frontend (Vite React SPA) location / { set $frontend_upstream http://scoreodonto-frontend:3013; proxy_pass $frontend_upstream; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; 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; } }