map nginx

Вадим Лазовский lvm на citylink-rk.ru
Ср Июн 22 14:53:22 MSD 2011


22.06.2011 14:08, Vitaly Tskhovrebov пишет:
>>> На что nginx сказал, что $var1 unknown variable.
>>
>> А где определяется $var1?
>>
>> Just in cacse: map<исходная_переменная> <новая_переменная>.
>
> А вот нигде.
>
> Предыстория - было желание избавиться от перебора множеством if, чтобы 
> не было спагетти-кода типа такого:
>
> if ($cookie_R = "A")
> {
>     proxy_pass http://a;
> }
> if ($cookie_R = "B")
> {
>     proxy_pass http://b;
> }
>
> Кроме того, map можно на уровне http, а те самые if на уровне server. 
> Игорь посоветовал заменить на map. Я его и так, и сяк, и не совладал.
> Как же это тогда правильно сделать?
>
>
>
map $cookie_NAME $proxy_host {
     A    host1;
     B    host2;
     C    host3;

     default    host0;
}

server {

     ...

     location ... {
         proxy_pass http://$proxy_host;
     }
}

?



Подробная информация о списке рассылки nginx-ru