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
 
 |