Re: Переопределить upstream
Maxim Dounin
mdounin at mdounin.ru
Tue Nov 27 11:57:19 UTC 2012
Hello!
On Tue, Nov 27, 2012 at 03:31:53PM +0400, Валентин Бартенев wrote:
> On Tuesday 27 November 2012 14:59:09 Daniel Podolsky wrote:
> > > Можно ли как-нибудь переопределить upstream указанный в конфиге?
> >
> > Описать несколько апстримов, и соответствующих им именованных
> > location. выбирать нужный location через if return
>
> Не нужно так делать. Все директивы *_pass понимают переменные.
>
> http://nginx.org/r/proxy_pass/ru
Я бы не стал однозначно утверждать, какой из вариантов лучше.
Потому что переменные в proxy_pass - это не только ценный мех, но
и заметно другой codepath, который ещё недавно был совсем другим,
вплоть до того, что URL нужно было всегда задавать полностью. Да
и сейчас конструкция
location /foo/ {
proxy_pass http://backend/bar/;
}
не заменяется на первый взгляд аналогичной конструкцией
location /foo/ {
set $backend "backend";
proxy_pass http://$backend/bar/;
}
YMMV.
--
Maxim Dounin
http://nginx.com/support.html
Подробная информация о списке рассылки nginx-ru