Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Обработка редиректов внутри
- To: nginx-ru@xxxxxxxxx
- Subject: Обработка редиректов внутри
- From: "vsadm" <nginx-forum@xxxxxxxx>
- Date: Thu, 13 Feb 2014 07:52:26 -0500
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=Y8pxmgzAGaBrcbWinxF6pvvbY22MeNoNILCoD7Arb2c=; b=BVGJ6BJI16aSqPiZEAYrEdIw5a/11JpWnsxJEeK9d0xM54pyuwq+5eHY+1xwyQhwpj9L4DJGrmdpwU/h+bQrZHW0dar0IngBpeqDZei1E92arh5Jh5FmMXHSUIKYZgxvllrgTQIa4TzVJGU98uSMURiHjclBCCG5g0kOOPcXo40=;
Привет всем,
Есть простой прокси, который обрабатывает редиректы от апстримов внутри
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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|