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

328
Vistas
Choque de nombre de ruta de proxy inverso de Nginx

Actualmente estoy ejecutando dos servidores web en la misma máquina, uno usando Django a través de Gunicorn, que es mi sitio original, el otro que actúa como tienda en línea usando el mismo dominio, este usando Nestjs (Nodejs). Ambos servidores tienen una ruta /admin con el original en example.com/admin y el otro quiero estar en example.com/store/admin. Sin embargo, cada vez que ingreso la segunda URL en mi navegador (es decir, example.com/store/admin), devuelve la otra página de administración, example.com/admin (sin el prefijo /store). Aquí está el fragmento de configuración que creo que necesita ser revisado:

 server { server_name example.com www.example.com; location / { include proxy_params; proxy_pass http://unix:/run/gunicorn.sock; } location /store { proxy_pass http://127.0.0.1:3000/; } location = /store/admin { proxy_pass http://127.0.0.1:3000/admin/; } ... }

He probado algunas combinaciones de los bloques de ubicación /store y /store/admin, pero parece que no puedo conseguir que me dirija al sitio de administración del servidor de la tienda. Funciona en mi máquina de desarrollo local cuando se prueba con el servidor nodejs. Ir a http://example.com/store devuelve lo que espero ver del servidor Nestjs.

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

0

Los documentos establecen que:

... Para encontrar una ubicación que coincida con una solicitud dada, nginx primero verifica las ubicaciones definidas usando las cadenas de prefijos (ubicaciones de prefijos). Entre ellos, se selecciona y recuerda la ubicación con el prefijo coincidente más largo . ...

Entonces solo necesita dos bloques de ubicación:

El primero :

 location / { include proxy_params; proxy_pass http://unix:/run/gunicorn.sock; }

Y el otro con la reescritura:

 location /store { rewrite ^/store(.*) $1 break; proxy_pass http://127.0.0.1:3000; }

Esto significa que reescribirá cada URL que comience con /store y lo eliminará de la URL antes de pasar al upstream. y esto también incluye el /admin , ya que es lo mismo.

También tenga en cuenta que no hay sufijo / al final de proxy_pass , lo que indica a NGINX que tome el URI proporcionado por el usuario.

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