ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: логика работы Host при проксировании
  • From: Vadim Lazovskiy <vadim.lazovskiy@xxxxxxxxx>
  • Date: Tue, 26 Nov 2013 16:08:17 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=ajYULTy5t/cgbgiJg/TG9eLmkDohSlDBD8n0cBZiVXc=; b=RNuW2Fdpl0g+/iiGIPKqzTMzGP3P83wW32gRFxtFQuCZrqRrEdDWFm68GJuACDNuoO 7uxoXl2EbmCShfoVs1aKReaw6al28HjP4RMuBdKzaDTFMwryBqcpKpnaq/a8WuNdZ++C MnnNhhSB4ACnOaKuNFWEVv9Q1dSoZmpClSD3uky5f3k87L9JYY54+ODJbzw5+is4+K/R 3IJId4jRLnXPQSV15sPUBoEfdiQONXWLlfm54o7BDm845sJSeE5X/34aSOwxZ3YGTiFU cK5Yqz02YGAaN670nXoPhcoHt2Fn6JCh2JdgjyckGzgD7PT8Oh5Epavw8PWBWrxEexRV 6/Zg==
  • In-reply-to: <52948CCC.8070705@webmaster.spb.ru>
  • References: <52948CCC.8070705@webmaster.spb.ru>

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

Host здесь ни при чем.
Смотреть нужно в сторону proxy_redirect:


26 ноября 2013 г., 15:58 пользователь denis <denis@xxxxxxxxxxxxxxxx> написал:
Добрый день.

Не могу понять логику работы с 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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru



--
Best Regards,
Vadim Lazovskiy
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.