Как организовать перехват нескольких редиректов при выполнении proxy_pass в nginx ?

Для чайников и не только
Аватара пользователя
ZigZag
Сообщения: 202
Зарегистрирован: 28 окт 2015, 03:43

Сообщение ZigZag » 25 июл 2019, 00:27

Собственно сабж. Как организовать перехват и перенаправление нескольких редиректов при выполнении proxy_pass в nginx ? Т.е. имеется ввиду, когда по ссылке цепочкой идёт один 302-й редирект за другим.

nginx умеет перехватывать редирект при использовании конструкции

Код: Выделить всё

{

***

proxy_intercept_errors on;
error_page 301 302 307 = @handle_redirect;
}

location @handle_redirect {
resolver 8.8.8.8;
set $saved_redirect_location '$upstream_http_location';
proxy_pass $saved_redirect_location;
}
но вот только хватает этого на одну итерацию. В случае наличия повторного редиректа нужно повторить перехват ошибок и конструкцию @handle_redirect. Существует ли возможность заставить nginx следовать редиректам до упора, без применения сторонних средств типа PHP или CGI ? Или это невозможно ?
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]

Аватара пользователя
ZigZag
Сообщения: 202
Зарегистрирован: 28 окт 2015, 03:43

Сообщение ZigZag » 27 июл 2019, 14:01

Вопрос решила директива

Код: Выделить всё

recursive_error_pages on;
тему можно закрывать.
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]


Вернуться в «Linux - все вопросы тут»

Кто сейчас на конференции

Всего 1 посетитель :: 1 зарегистрированный, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 17:33

Сейчас этот форум просматривают: CommonCrawl [Bot] и 0 гостей