proxy_set_header Host
Pavel V.
pavel2000 на ngs.ru
Вт Ноя 8 15:00:08 UTC 2011
Здравствуйте.
Вы писали 8 ноября 2011 г., 19:53:57:
> 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;
>> }
>>
>> Существует возможность такая вообще?
Наверное можно пропустить трафик к каждому из бэкендов еще раз, через этот же Nginx, через server
{} на отдельных портах, описывая в них всё что нужно (Host, хосты/проты и т д). (server.example.com читать как 127.0.0.1)
upstream backends {
server server.example.com:6000;
server server.example.com:6001;
server server.example.com:6002;
...
}
#Frontend description
server{
servername frontend.my.lan;
proxy_pass http://backends; ##Заворачиваем запрос на этот же Nginx еще раз, на "прокси" бэкэндов
...
}
#Proxy-servers for backends
server {
listen server.example.com:6000;
proxy_set_header Host backend1.my.lan;
proxy_pass http://backend1.my.lan;
proxy_buffering off; # ???
...
}
server {
listen server.example.com:6001;
proxy_set_header Host backend2.my.lan;
proxy_pass http://backend2.my.lan;
proxy_buffering off; # ???
...
}
server {
listen server.example.com:6002;
proxy_set_header Host backend3.my.lan;
proxy_pass http://backend3.my.lan;
proxy_buffering off; # ???
...
}
--
С уважением,
Pavel mailto:pavel2000 at ngs.ru
Подробная информация о списке рассылки nginx-ru