Обработка редиректов внутри
vsadm
nginx-forum at nginx.us
Thu Feb 13 12:52:26 UTC 2014
Привет всем,
Есть простой прокси, который обрабатывает редиректы от апстримов внутри
nginx -- так, чтобы они не доходили до браузера. Браузер получает только
последний ответ в цепочке. Конфигурация, в целом, работает, но только один
раз: при первом запросе цепочка отрабатывает как надо, переменная
$upstream_http_location проставляется. При втором запросе, когда 301 берется
из кеша, $upstream_http_location уже пустая. Есть ощущение, что при ответе
301 из кеша внутри не срабатывает модуль апстрима, и, соответственно,
переменные заголовков пустые.
Можно это как-то обойти?
>> resolver 127.0.0.1;
>>
>> location / {
>> ...
>> proxy_intercept_errors on;
>> error_page 302 = @redirect;
>> }
>>
>> location @redirect {
>> set $redirect $upstream_http_location;
>> proxy_pass $redirect;
>> }
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247505,247505#msg-247505
Подробная информация о списке рассылки nginx-ru