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

280
Visualizações
¿Cómo se envía una solicitud de autenticación a una URI variable en nginx?

Estoy tratando de usar el módulo auth_request para verificar si un usuario puede acceder a un archivo determinado. El usuario publica la solicitud en /my/download/uri/<File ID> . Quiero que la solicitud de autorización se publique en auth_service:9999/files/<File ID> . La parte relevante de mi configuración es la siguiente:

 location /my/download/uri { auth_request /auth/files/$uri; alias /my/file/directory; } location /auth { internal; proxy_pass http://auth_service:9999/; proxy_pass_request_body off; proxy_set_header Content-Length ""; }

El servicio de autorización recibe la solicitud, pero literalmente en /files/$uri ; la variable no se coloca. Primero intenté preparar el URI a través de una variable set , pero fue en vano. ¿Cómo puedo hacer que nginx dirija correctamente la solicitud de autorización?

(Nota: sé que puedo incluir la solicitud original en el encabezado de la solicitud de autorización a través X-Original-URI . Sin embargo, esto significaría que tengo que realizar un procesamiento adicional del URI completo en el servidor de autorización para obtener los datos relevantes , lo que preferiría no hacer si hay una forma de publicar la solicitud de autorización en el URI correcto en primer lugar).

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No puede usar variables en auth_request. Aparentemente, esta es una opción de diseño para nginx https://trac.nginx.org/nginx/ticket/761 Se me ocurrió esto a través de prueba y error. Tuve problemas para poner $uri en una variable, no estoy seguro de por qué.

 location ~ /my/download/uri/(.*) { set $key $1 auth_request /auth; alias /my/file/directory; } location /auth { internal; proxy_pass http://auth_service:9999/$key; proxy_pass_request_body off; proxy_set_header Content-Length ""; }
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