Следование по редиректам вместо ответа браузеру.

kycedbi nginx-forum на forum.nginx.org
Сб Май 20 18:48:11 UTC 2017


Здравствуйте.
Использую nginx в качестве прокси с кэшем (сохраняет проксируемый файл в
указанный каталог).
Иногда файл, который проксируется, находится по другому адресу и целевой
сервер указывает этот адрес с помощью 302 редиректа (иногда несколько 302
редиректов до достижения ответа 200/206/404).
Но nginx при виде 302, сразу отдаёт 302 браузеру, а сам не переходит по
этому редиректу для получения файла и последующего его проксирования.

Примерный конфиг (internal location):
https://gist.github.com/anonymous/35641c9c4d851e90e11417d17c17114b
Тестовый скрипт: https://gist.github.com/006009edfe6be71daf5e028b10377f60

Подскажите, пожалуйста, как можно модифицировать конфиг, чтобы nginx сам
ходил по редиректам, а не отправлял по ним браузер, и при этом сохранился
функционал проксирования, т.е. чтобы nginx ещё и сохранял диск в указанное
место проксируемый файл, если в результате перехода по редиректам таки был
получен ответ 200 (при ответе 404, браузеру тоже нужно отдать ответ 404 и не
кэшировать результат).

http://stackoverflow.com/a/38592074 эту штуку не осилил.

Возможна оплата за предоставленное рабочее решение.
С уважением.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,274346,274346#msg-274346



Подробная информация о списке рассылки nginx-ru