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?
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"
usando o bloco @handle_redirect, alguma ideia?