Welcome! Log In Create A New Profile

Advanced

Re: Помогите допилить блок до универсальной пересылки на бэкэнд

Валентин Бартенев
May 29, 2012 11:02AM
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@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Помогите допилить блок до универсальной пересылки на бэкэнд

Andrey Repin May 24, 2012 01:06PM

Re: Помогите допилить блок до универсальной пересылки на бэкэнд

Валентин Бартенев May 24, 2012 04:48PM

Re: Помогите допилить блок до универсальной пересылки на бэкэнд

Andrey Repin May 29, 2012 10:36AM

Re: Помогите допилить блок до универсальной пересылки на бэкэнд

Валентин Бартенев May 29, 2012 11:02AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 176
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready