ПРОЕКТЫ 


  АРХИВ 


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]

Тринарный оператор


  • 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


 




Copyright © Lexa Software, 1996-2009.