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

lekrus nginx-forum at nginx.us
Thu Aug 15 07:18:43 UTC 2013


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

У меня используется переменная
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