Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

348
Vistas
SPA de configuración de Nginx

Necesito ayuda con la configuración de nginx para SPA. Hice el mío a partir de piezas que logré buscar en Google, pero no entiendo cómo funciona.

Lo que necesito:

1) Servir archivos estáticos

 location ~ \.(css|js|svg|woff|woff2|ico|ttf|eot|jpe?g|png|txt)$ { try_files $uri $uri/ =404; expires 1y; add_header Cache-Control "public"; }

Si no se encuentra el archivo, devuelvo 404. Está bien si solo escribo un nombre de archivo incorrecto en la URL, pero si escribo un nombre de archivo incorrecto en mi index.html en lugar de la página 404, obtengo una página en blanco. ¿Se supone que debe ser así?

2) Las solicitudes a /api deben redirigirse al backend del nodo

 location /api { try_files '' @proxy; } location @proxy { proxy_pass http://localhost:3000; }

No estoy muy seguro en esta línea, si se supone que debe verse de esta manera

 try_files '' @proxy;

3) Y el mayor problema, las solicitudes que no coinciden con nada deben devolver index.html

 location / { try_files '' /index.html; expires -1; } location = /index.html { expires -1; }

Según tengo entendido, el primer bloque redirige todas las solicitudes desconocidas a index.html, pero no entiendo cómo el segundo bloque sirve este index.html. No escribo para servir este archivo, no hay una directiva try_files.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

1) Servir archivos estáticos

Tu solución está perfectamente bien. Solo es necesario si necesita establecer diferentes encabezados de caducidad y control de caché para estos URI. La instrucción try_files no es necesaria ya que es la misma que el comportamiento predeterminado.

2) Las solicitudes a /api deben redirigirse al backend del nodo

Su solución se puede simplificar a:

 location /api { proxy_pass http://localhost:3000; }

Esto procesará cualquier URI que comience con /api a menos que coincida con la expresión regular del paso (1). Puede evitar eso usando el operador ^~ . Vea este documento para más detalles.

3) Y el mayor problema, las solicitudes que no coinciden con nada deben devolver index.html

Esto generalmente se implementa como:

 location / { try_files $uri $uri/ /index.html; ... }

A menos que la solicitud coincida con cualquier otra location , archivo o directorio, el URI se reescribirá internamente en /index.html . Vea este documento para más detalles.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda