ПРОЕКТЫ 


  АРХИВ 


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: Помогите допилить блок до универсальной пересылки на бэкэнд


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Помогите допилить блок до универсальной пересылки на бэкэнд
  • From: Валентин Бартенев <ne@xxxxxxxx>
  • Date: Tue, 29 May 2012 19:01:01 +0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=vbart.ru; s=mail; h=Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:In-Reply-To:References:Date:Subject:To:From; bh=BGkP9dE60mRxEbZclZoC1xo8N6cqxOi8pkgqbkahrpI=; b=lHGsG4Qzv/KqgPqx71lTw5WzSJgnYwugq4NjwZC7I3V3srLUkDzSbJM0B/tIaAYZqBoY6Jrtwho6unLfOo5zgaBDalU1N77xM0pxe7PY6d6nUWMgRkI9w2irRU5jrRKXXWe5x/F+Vw6+ovlHsySnK+bIy8KsNBl39dGxvmxShy1sYWvtl3hXsqIh5OlOw9g4LV5QxZ3STxKA/rRuby7jh8SPN6Pum757jaZLfrYCoPODYRlhj5n6zGTeeOVlGpL2MRwZOU1PbDKcHfn+KKK3X1hR5SlKohf3xrkkG1trAzTlpMGC5vQpYNB7ln6j9SquQI0GC7E1jJxcoPcLDIiIfw==;
  • In-reply-to: <1854321277.20120529183434@mtu-net.ru>
  • References: <1302848765.20120524205714@mtu-net.ru> <201205250046.53177.ne@vbart.ru> <1854321277.20120529183434@mtu-net.ru>

On Tuesday 29 May 2012 18:34:34 Andrey Repin wrote:
> Здравствуйте, Уважаемый(-ая, -ое) Валентин Бартенев!
> 
> ВБ> On Thursday 24 May 2012 20:57:14 Andrey Repin wrote:
> ВБ> [...]
> 
> >> Опустим нарушения RFC (i.e. "proxy_redirect http://example.com:8080/
> >> /;"),
> 
> ВБ> Чем это нарушает RFC?
> 
> Заголовок Location ДОЛЖЕН содержать полный адрес ресурса, включая протокол
> доступа.
> 
> http://tools.ietf.org/html/rfc2616#section-14.30

Он и будет содержать. Читаем внимательно: http://nginx.org/r/proxy_redirect/ru

/* 
 * В заменяемой строке можно не указывать имя сервера:
 *
 *     proxy_redirect http://localhost:8000/two/ /;
 *
 * тогда будет подставлено основное имя сервера и порт, если он отличен от 80.
 */


> >> главная претензия - этот ужас срёт в файлы, управляемые debconf'ом.
> >> Хочу от него избавиться нафиг. Но есть вопрос.
> >> 
> >> Хочу этот ужас приспособить для мультипроксирования на апач. Чтобы не
> >> менять конфиг nginx каждый раз при создании сайтов в Webmin (фтопку
> >> ISPManager!).
> >> 
> >> Идея выглядит как-то так:
> >>         server {
> >>         
> >>                 listen 80;
> >>                 server_name чего-то-пока-не-знаю-чего;
> >>                 rewrite "^/(manager|myadmin)/"
> >>                 "https://$server_addr$uri";
> >> 
> >> permanent;
> 
> ВБ> Не надо так делать. Правильно:
> 
> Неправильно. Перенаправление должно идти на адрес, а не на хост.
> Это же ISPManager... >.<

Смысл был не в этом. Подставьте $server_addr, кто мешает:

 location ^~ /manager/ {
     return 301 https://$server_addr$reques_uri;
 }

 location ^~ /myadmin/ {
     return 301 https://$server_addr$reques_uri;
 }


> ВБ>  location ^~ /manager/ {
> ВБ>      return 301 https://$host$reques_uri;
> ВБ>  }
> 
> ВБ>  location ^~ /myadmin/ {
> ВБ>      return 301 https://$host$reques_uri;
> ВБ>  }
> >> error_page 404 = @fallback;
> >> 
> >>                 location ~*
> >> 
> >> \.(jpe?g|gif|pn[mg]|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
> >> try_files @statics @fallback ;
> >> 
> >>                 }
> 
> ВБ> Это работать не будет. Читаем внимательно:
> http://nginx.org/r/try_files/ru
> 
> ВБ> Вы вероятно хотели:
> 
> Вероятно. Подумал об этом, когда уже отпостил.
> 
> ВБ>     location ~*
> ВБ> \.(jpe?g|gif|pn[mg]|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
> 
> ВБ>         try_files $uri @fallback;
> 
> ВБ>         root /var/www/user/data/www/example.com;
> ВБ>         access_log /var/www/httpd-logs/$server_name.access.log;
> ВБ>         access_log /var/www/nginx-logs/user isp;
> ВБ>     }
> 
> ВБ> Вообще это ужасно и говорит о кривой структуре самого сайта.
> 
> Претензии к идиотам из ISPManager...
> Что на счёт моего второго вопроса?

> 2. Что написать в server_name ?

Если вам ничего не нужно, можете вообще директиву server_name убрать.
У нее значение по умолчанию - пустая строка.

Кто же может за вас знать, какие хосты вы хотите сконфигурировать.


> Можно ли вынести список серверов в отдельный
> файл?

Директива include: http://nginx.org/r/include/ru

--
Валентин Бартенев
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.