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
|