server { listen 80; root /usr/share/nginx/html; index index.html; # Cache Control para el index.html y sw.js (NUNCA cachear) location ~* ^/(index\.html|sw\.js)$ { add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0"; } # Cache Control para assets estáticos (Vite usa hashes) location /assets/ { expires 1y; add_header Cache-Control "public, immutable"; } location / { try_files $uri $uri/ /index.html; } location /api/ { resolver 127.0.0.11 valid=30s; set $backend_upstream backend-api; proxy_pass http://$backend_upstream:8000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; } }