May 20, 2017 02:48PM
Здравствуйте.
Использую 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 эту штуку не осилил.

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

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

kycedbi May 20, 2017 02:48PM

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

Илья Шипицин May 20, 2017 02:56PM

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

kycedbi May 20, 2017 04:17PM

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

S.A.N May 20, 2017 05:00PM

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

kycedbi May 20, 2017 05:19PM

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

S.A.N May 21, 2017 04:18AM

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

Илья Шипицин May 21, 2017 04:24AM

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

Vadim Lazovskiy May 22, 2017 02:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 93
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready