Привет всем,
Есть простой прокси, который обрабатывает редиректы от апстримов внутри 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;
>> }