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

Валентин Бартенев ne на vbart.ru
Чт Май 24 20:46:52 UTC 2012


On Thursday 24 May 2012 20:57:14 Andrey Repin wrote:
[...]
> 
> Опустим нарушения RFC (i.e. "proxy_redirect http://example.com:8080/ /;"),

Чем это нарушает RFC?

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

Не надо так делать. Правильно:

 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;
    }

Вообще это ужасно и говорит о кривой структуре самого сайта.

--
Валентин Бартенев


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