Eu tenho um proxy HTTP baseado em nginx e gostaria de processar todos os redirecionamentos HTTP dentro dele para que os clientes obtenham apenas a última resposta na cadeia de redirecionamento.
O código básico se parece com:
location /proxy {
rewrite ^/proxy/([^/]+) $1 break;
proxy_pass http://$uri/;
}
Minha tentativa de seguir os 1 redirecionamentos de nível é a seguinte:
error_page 301 302 307 =200 @redir;
... e tendo este local nomeado:
location @redir {
proxy_pass $proxy_location;
}
Somente não há variável $ proxy_location e não consegui encontrar uma maneira de criá-la. Ele deve conter o valor do Location:
cabeçalho recebido do upstream.
Alguma ideia?