server { listen 80; server_name localhost; # Directorio raíz donde están los archivos de la app root /usr/share/nginx/html; index index.html; # --- NUEVO: Ubicación específica para activos estáticos --- # Captura cualquier petición que termine con una extensión de archivo común. # Esto incluye el manifest.json. location ~* \.(?:manifest\.json|js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ { # Intenta servir el archivo directamente. try_files $uri =404; # Opcional: optimizaciones de caché que ya tenías expires 1y; add_header Cache-Control "public"; } # --- MODIFICADO: Ubicación principal para la SPA --- # Esta ubicación ahora manejará todo lo que NO fue capturado antes. location / { # Esta es la lógica para que el enrutamiento de React funcione. try_files $uri $uri/ /index.html; } }