У меня есть HTTP-прокси на основе nginx, и я хотел бы обработать все перенаправления HTTP внутри него, чтобы клиенты получали только последний ответ в цепочке перенаправления.
Основной код выглядит так:
location /proxy {
rewrite ^/proxy/([^/]+) $1 break;
proxy_pass http://$uri/;
}
Моя попытка следующих перенаправлений 1 уровня заключается в следующем:
error_page 301 302 307 =200 @redir;
... и с таким именем:
location @redir {
proxy_pass $proxy_location;
}
Только нет переменной $ proxy_location, и мне не удалось найти способ ее создания. Он должен содержать значение Location:
заголовка, полученного от апстрима.
Есть предположения?