понедельник, 6 января 2014 г.

nginx: немного про proxy_pass и Host

Когда пишется proxy_pass http://backend.srv -- на бэкенд в поле Host будет backend.srv, (замена заголовка Host), что зачастую не ожидается. Решение - или вносить новый Host в алиасы на бэкенде, или использовать 
proxy_set_header Host $host;

мой вариант:
proxy_set_header Host $host:$port;
этот вариант корректно работает, даже когда порт отличен он 80.
Нюанс: если приземляли SSL на nginx без двойного ssl-преобразования (клиент-фронтэнд и фронтэнд-бэкэнд), порт был 443 должен был стать 80, тут 443 и будет. Это надо учитывать.

http://nginx.org/r/proxy_pass
http://nginx.org/r/proxy_set_header

Комментариев нет:

Отправить комментарий