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

1.1K
Visualizações
NGINX no redirige en auth_request 302

Tengo un proxy inverso NGINX que también sirve contenido estático en / con la siguiente configuración

 location / { auth_request /authn; proxy_intercept_errors on; recursive_error_pages on; error_page 301 302 303 307 308 = @handle_redirect; gzip_static on; index index.html; root /usr/share/nginx/html; try_files $uri $uri/ @index; } location /authn { set $target http://gateway:8030/authn; proxy_pass http://gateway:8030/authn; proxy_pass_request_body off; proxy_set_header Content-Length ""; proxy_set_header X-Original-URI $request_uri; proxy_pass_request_headers on; proxy_intercept_errors on; recursive_error_pages on; error_page 301 302 303 307 308 @handle_redirect; } location @handle_redirect { proxy_set_header Host $host:$server_port; set $redirect_url $upstream_http_location; proxy_pass $redirect_url; }

El objetivo es verificar que el usuario esté autenticado por subsolicitud al punto final /authn, que devolverá 302 y el encabezado de ubicación si el usuario no lo está. Pero el cliente obtiene 500 de NGINX con un registro de errores como

 auth request unexpected status: 500 while sending to client

También tengo un punto final /root que pasa poxy directamente a la puerta de enlace /authn que redirige correctamente a la página de inicio de sesión y autentica al cliente. En lugar de manejar redireccionamientos en subsolicitudes, probé solicitudes de paso de proxy a este punto final con la configuración

 location /root { set $target http://top-gateway:8030/authn; proxy_pass http://top-gateway:8030/authn; } location /authn { ... error_page 301 302 303 307 308 /root;

Pero en este caso me sale 500 y

 auth request unexpected status: 302 while sending to client

en NGINX error.log

¿Por qué NGINX no maneja las redirecciones correctamente con esta configuración y cómo resolverlo correctamente?

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

0

Tal vez esto sea útil para usted para saber por qué falla, tal vez llegué tarde, pero encontré este hilo para hacer algo similar.

https://nginx-devel.nginx.narkive.com/0cH1MZv7/patch-allow-http-auth-request-module-to-forward-302-responses

El enlace muestra una conversación entre un desarrollador de Nginx y un usuario que estaba motivado para escribir un parche. Parece que Nginx solo admite códigos 2xx y 4xx para auth_request. Pero podría hacer algo como esto si controla la aplicación como se muestra en ese enlace.

 location / { auth_request /auth; auth_request_set $auth_redirect $upstream_http_location; error_page 401 = /auth_redirect; } location /auth { proxy_pass http://auth_backend; ... } location /auth_redirect { return 302 $auth_redirect; }

Además, me resultó útil leer esto (no es lo mismo, pero es una pista para algunas ideas):

¿Cómo realizo llamadas de servicio web dentro de nginx?

Este enlace muestra una introducción simple (que puede encontrar en la documentación) sobre auth_request_set.

 auth_request_set $x_upstreamhost $upstream_http_x_upstreamhost;

Además, aquí hay un nivel profundo de la implementación del código de auth_request.

https://www.nginx.com/resources/wiki/extending/examples/auth_request/

Este enlace muestra un desglose del código de la implementación de auth_request. No puedo incluir eso aquí.

Salud,

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