Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

329
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda