Re: логика работы Host при проксировании

Vadim Lazovskiy vadim.lazovskiy at gmail.com
Tue Nov 26 12:08:17 UTC 2013


Здравствуйте.

Host здесь ни при чем.
Смотреть нужно в сторону proxy_redirect:
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_redirect


26 ноября 2013 г., 15:58 пользователь denis <denis at webmaster.spb.ru>написал:

> Добрый день.
>
> Не могу понять логику работы с Host. Есть приложение, которое надо
> проксировать на нестандартном порту (пример конфига)
>
> server
> {
>         listen *:8080;
>
>         server_name aaa.spb.ru;
>
>         include conf.all/tunes-main.conf;
>
>         location / {
>                 proxy_redirect off;
>                 proxy_set_header X-Real-IP $remote_addr;
>                 proxy_set_header X-Forwarded-For
> $proxy_add_x_forwarded_for;
>                 proxy_set_header Host $host;
>
>                 proxy_pass http://192.168.2.32:8080;
>         }
> }
>
> При обращении там идут редиректы, при этом Location возвращается без
> указания порта (8080) и поэтому ничего не работает.
> При этом установка
> proxy_set_header Host aaa.spb.ru:8080;
> после блока proxy_set_header также ничего не дает - этот блок вынесен в
> отдельный файл для всех сайтов.
>
> Но стоит убрать строку  proxy_set_header Host $host; - и порт нормально
> появляется в редиректе. В чём логика? Host нельзя переопределить 2 строкой?
> или при этом уходит запрос с 2 хостами и система сама выбирает что больше
> нравится? или как? И как тогда правильнее задать в выносном блоке, можно ли
> как Host $host$port? Или просто не добавлять, а для секции с изменением
> порта - задавать Host уже в нужном location?
>
> И попутно мелкий вопросик: была ситуация наоборот, проксируем запрос
> внутрь с 80 порта на 8080, пока явно не прописали Host $host:80; -
> периодически порт 8080 проявлялся в адресной строке. Хотя на десятке других
> серверов такого не было, при том что секция одинаковая.
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best Regards,
Vadim Lazovskiy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20131126/fc55c620/attachment.html>


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