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

Для чайников и не только
ZigZag
Сообщения: 187
Зарегистрирован: 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
Сообщения: 187
Зарегистрирован: 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 - все вопросы тут»

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

Всего 3 посетителя :: 1 зарегистрированный, 0 скрытых и 2 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

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