proxy_set_header Host

Maxim Dounin mdounin на mdounin.ru
Вт Ноя 8 12:53:57 UTC 2011


Hello!

On Tue, Nov 08, 2011 at 07:45:00AM -0500, tazik wrote:

> Добрый день!
> 
> Осваиваю переход на nginx и столкнулся с
> непрогуглевыемым (для меня) случаем:
> 
> Как выставить 
> proxy_set_header Host backend?.my.lan;
> что бы он автоматически подставлялся
> для каждого  backend свой?
> 
> upstream back {
> server backend1.my.lan;
> server backend2.my.lan; 
> }
> server{
> servername frontend.my.lan;
> proxy_set_header Host backend1.my.lan;
> proxy_pass http://back;
> }
> 
> Существует возможность такая вообще? 

Нет.  Запрос создаётся один раз, и не зависит от того, какой 
именно сервер в блоке upstream будет в дальнейшем выбран (а равно 
не меняется, если e.g. после ошибки nginx пойдёт на другой бекенд).

С точки зрения конфигурирования бекендов - блок upstream{} 
аналогичен балансировке через DNS.

> Переконфигурировать backend - нет
> возможности..

Если общего имени, на которые бы откликались все бекенды в блоке 
upstream, не существует, и переконфигурировать бекенды возможности 
нет, то придётся отказать от использования балансировки с помощью 
upstream'а.

Maxim Dounin



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