ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

вызов map variable дважды


  • To: nginx-ru@xxxxxxxxx
  • Subject: вызов map variable дважды
  • From: "lekrus" <nginx-forum@xxxxxxxx>
  • Date: Thu, 15 Aug 2013 03:18:43 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=kuI1joXBgEaZ6lm9EX4kAIpe2Y0HsVZxZjke505Ne+A=; b=t5Jg47w0rDoi7i+5702UodcnclTvzyTUuHHSy6sqX1bjVD9xxTzb+iKjOxScMFZHMGVm9PWW9GiX0cCISpRFRPtjGQ451PIKqM8Gsc6McaUOA0tkY08bOQbN/MdJzG8vxwdA7+Z2Ba1EWm3oj+BOQ0bEf/5mWm0VcQYTEz58FBQ=;

Здравствуйте,

У меня используется переменная
map $v_host $backend {
     default 1;
     test  2;
     test2 3;
}

Далее идет 

location / {
 set $v_host test;
proxy_pass $backend #(тут переменная $backend правильно определяется, равна
2) 
}

в процессе, upstream возвращает X-Accel-Redirect который вызывает другой 
location /int {
internal; 
set $v_host test2;
rewrite (.*) $backend
}

и при таком вызове $backend остается равен 2, должен быть 3.

Я правильно понимаю, что в процессе одного вызова, если переменная map хоть
раз была вычислена, далее все остальные вызовы используют это значение,
независимо от того, меняется ли переменная, по которой определяется
значение?

Есть ли возможность как-то заставить перевычислить это значение?

Спасибо,
Алексей

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,241868,241868#msg-241868

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.