У меня есть 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:
заголовка, полученного от апстрима.
Есть предположения?
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"
используя блок @handle_redirect, любая идея?