Welcome! Log In Create A New Profile

Advanced

Обработка редиректов внутри

February 13, 2014 07:52AM
Привет всем,

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

Обработка редиректов внутри

vsadm February 13, 2014 07:52AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 171
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready