Tengo un proxy HTTP basado en nginx y me gustaría procesar todos los redireccionamientos HTTP dentro de él para que los clientes obtengan solo la última respuesta en la cadena de redireccionamiento.
El código básico se ve así:
location /proxy {
rewrite ^/proxy/([^/]+) $1 break;
proxy_pass http://$uri/;
}
Mi intento de seguir las redirecciones de 1 nivel es este:
error_page 301 302 307 =200 @redir;
... y tener esta ubicación con nombre:
location @redir {
proxy_pass $proxy_location;
}
Solo que no hay una variable $ proxy_location y no pude encontrar una manera de crearla. Debe contener el valor del Location:
encabezado recibido de la parte superior.
¿Alguna idea?
2020/01/23 09:17:46 [error] 1394#0: *1 invalid URL prefix in "", client: xx.xx.28.3, server: www.example.com, request: "GET /test HTTP/1.1", host: "www.example.com"
usar el bloque @handle_redirect, ¿alguna idea?