Тринарный оператор
Алферов Василий
vasilii.alferov на gmail.com
Пн Мар 21 12:10:20 MSK 2011
Добрый день!
Хочу реализовать следующую схему для nginx:
если в запросе задан параметр $upstream = a.domain.tld, то направлять запрос
на этот апстрим
если параметра нет, то направлять на дефолтный.
Не посоветуете ли, как можно реализовать аналог тринарного оператора:
set $host = $arg_upstream ? $arg_upstream : $default_upstream;
proxy_pass $host
на ум приходит использование map:
map $upstream $host {
hostnames;
default $default_upstream;
a.domain.tld ip.ad.dr.es1;
b.domain.tld ip.ad.dr.es1;
c.domain.tld ip.ad.dr.es1;
}
...
location / {
set $upstream $arg_upstream;
proxy_pass $host;
}
Но тут возникает вопрос - известен ли $arg_upstream в тот момент, когда
происходит proxy_pass?
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110321/8ac7fe3c/attachment.html>
Подробная информация о списке рассылки nginx-ru