Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Обработка редиректов внутри
И снова привет,
конфигурация, в целом, работает, но только один раз: при первом запросе
цепочка отрабатывает как надо, переменная $upstream_http_location
проставляется. При втором запросе, когда 301 берется из кеша,
$upstream_http_location уже пустая. Есть ощущение, что при ответе 301 из
кеша внутри не срабатывает модуль апстрима, и, соответственно,
переменные заголовков пустые.
Можно это как-то обойти?
Alex Kapranoff wrote:
* Igor Sysoev [August 31 2012, 18:15]:
On Fri, Aug 31, 2012 at 06:04:08PM +0400, Alex Kapranoff wrote:
Привет!
Есть простой прокси. Хотим обрабатывать редиректы от апстримов внутри
nginx -- так, чтобы они не доходили до браузера. Пусть браузер
получает только последний ответ в цепочке. Не получается.
Первая мысль для цепочки длинной 1: ловим редиректы с помощью
error_page в именованый location со вторым proxy_pass внутри. Однако
до адреса, на который делается редирект, добраться не удаётся.
Подскажете что-нибудь?
Как-то так:
resolver 127.0.0.1;
location / {
...
proxy_intercept_errors on;
error_page 302 = @redirect;
}
location @redirect {
set $redirect $http_upstream_location;
proxy_pass $redirect;
}
Да, получается, с учётом поправки $http_upstream_ --> $upstream_http_
Спасибо!
--
Vasily Shmelev
project manager
Yandex
tel.: 7 (495) 739-70-00, ext.: 3241
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|