server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.html; # --- NUEVO BLOQUE ESPECÍFICO PARA BOOTSTRAP.JS --- location = /bootstrap.js { # Esta cabecera le dice a los proxies que deben revalidar el archivo # con el servidor de origen antes de servirlo desde la caché. add_header Cache-Control "no-cache, must-revalidate"; # 'expires off' es otra capa de seguridad para evitar que se cachee expires off; # Intenta servir el archivo. Si no existe, devuelve 404. try_files $uri =404; } # Bloque para otros activos estáticos (con hash) que SÍ pueden ser cacheados agresivamente location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ { # Estos archivos cambian de nombre en cada build, así que pueden # ser cacheados por mucho tiempo sin riesgo. expires 1y; add_header Cache-Control "public"; try_files $uri =404; } # Bloque para la SPA location / { try_files $uri $uri/ /index.html; } }