ПРОЕКТЫ 


  АРХИВ 


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]

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



15.08.2013 11:18, lekrus пишет:
Здравствуйте,

У меня используется переменная
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 хоть
раз была вычислена, далее все остальные вызовы используют это значение,
независимо от того, меняется ли переменная, по которой определяется
значение?

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

Я бы посоветовал пользовать две мапы вместо одной.
Что содержимое у них будет одинаковое - так генератору конфига это без разницы.


--
Best regards,
Andrey Kopeyko <andrey@xxxxxxxxxx>

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


 




Copyright © Lexa Software, 1996-2009.