Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Тринарный оператор
- To: nginx-ru@xxxxxxxxx
- Subject: Тринарный оператор
- From: Алферов Василий <vasilii.alferov@xxxxxxxxx>
- Date: Mon, 21 Mar 2011 15:10:20 +0600
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=vGgg29BkOCl8o/TEw9jap+9DLYQ08Fx6dgiJmo+xKW4=; b=sQRxN3UlL1bSCBLyaHKuL+5NWH5D4rcFJzzwlGEiYTntyVxOaLuOq72R1Uur6RIyeo Yos0mE7KIX87gjhOEclP1zssZ3zKPX7FSyWpR4X/xXiqg5V4nLyNUELMzeiFE8skBwyk nO/3y2Ixhv/1JGgvRz/3gDvsjBVbiUu1PnGeQ=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=gfsCFPPKnt/aMvDw6OoUTT4X2m00uegtvxy7y11ZhyRzWREydxHkakGe/eTK/M3nVq MLQDuWo05uoD659K9LOJo5SBH5Wh2o5Fy786lOahmH60WIbthb9F6FqKtYUknG0agg6W 599kl5l5SFnZ2DwIzfV94/12nwr9Rjv4EHKKo=
Добрый день!
Хочу реализовать следующую схему для 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?
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|