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?