Welcome! Log In Create A New Profile

Advanced

Re[2]: rewrite в именованный location

Дмитрий Мурзин
April 14, 2017 12:12PM
Спасибо за ответ!
Хороший доклад, многое проясняет.

Если можно, спрошу про ещё одну конфигурацию:
location @proxy1 {
    ...много строк настройки первого прокси...
}
location /png {
    error_page 418 =@proxy1; return 418;
}
location /pic {
    error_page 418 =@proxy1; return 418;
}

location @proxy2 {
    ...много других строк настройки второго прокси...
}
location /some_location {
    error_page 418 =@proxy2; return 418;
}
location /some_another_location {
    error_page 418 =@proxy2; return 418;
}

Правда же, что если директивы настроек @proxy1 и @proxy2 разные, 
то не получится как в предыдущей конфигурации вынести на верхний уровень общую,
(то есть придётся использовать некрасивый хак с error_page,
либо copypaste, как советуют в докладе)?
Спасибо.


>Четверг, 13 апреля 2017, 22:01 +03:00 от Maxim Dounin <mdounin@mdounin.ru>:
>
>Hello!
>
>On Thu, Apr 13, 2017 at 09:22:05PM +0300, Дмитрий Мурзин wrote:
>
>> Спасибо за ответ!
>> Да, я читал это сообщение, но не очень его понял.
>> Можете, пожалуйста, пояснить, что значит
>>
>> > Лично я против goto, потому что это приведёт к тому, что люди ради
>> > экономии пары строк будут его использовать там, где нужно сделать
>> > законченную конфигурацию внутри location'а.
>>
>>
>> Например, если у меня есть следующий конфиг: 
>> location @proxy {
>>     ...много строк настройки прокси...
>> }
>>
>> location /png {
>>     error_page 418 =@proxy; return 418;
>> }
>> location /pic {
>>     error_page 418 =@proxy; return 418;
>> }
>>
>> Можете, пожалуйста, пояснить,
>> как в этом случае "сделать законченную конфигурацию внутри location'а".
>> Спасибо.
>
>Я бы рекомендовал так:
>
>   ... много строк настройки ...
>
>   location /png {
>       proxy_pass ...
>   }
>
>   location /pic {
>       proxy_pass ...
>   }
>
>Настройки в nginx'е наследуются, и если они одинаковые - именно
>этим и стоит пользоваться как основным инструментом сокращения
>размеров конфига.
>
>Если же настройки разные, то в любом случае надо делать разные
>настройки:
>
>   location /png {
>       proxy_pass ...
>       ... много строк настройки для проксирования /png ...
>   }
>
>   location /pic {
>       proxy_pass ...
>       ... много строк настройки для проксирования /pic ...
>   }
>
>Основной проблемой конфигурации с переходами, как в вашем случае,
>является невозможность при редактировании конфигурации за конечное
>время понять, на какие запросы и как повлияют вносимые изменения.
>Это становится актуально на больших конфигурациях, когда в рамках
>одного сервера могут быть сотни различных location'ов.
>
>Вот тут есть доклад Игоря на соответствующую тему на nginx.conf
>2014:
>
>Scaleable nginx configuration
>https://youtu.be/YWRYbLKsS0I
>
>Русские варианты того же доклада:
>
>http://highload.guide/blog/scalable-configuration-nginx.html
>https://youtu.be/fcG-7k20oG8
>
>--
>Maxim Dounin
>http://nginx.org/
>_______________________________________________
>nginx-ru mailing list
>nginx-ru@nginx.org
>http://mailman.nginx.org/mailman/listinfo/nginx-ru

--
С уважением,
Дмитрий Мурзин
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

rewrite в именованный location

Дмитрий Мурзин April 13, 2017 01:50PM

Re: rewrite в именованный location

Maxim Dounin April 13, 2017 02:14PM

Re[2]: rewrite в именованный location

Дмитрий Мурзин April 13, 2017 02:24PM

Re: rewrite в именованный location

Maxim Dounin April 13, 2017 03:02PM

Re[2]: rewrite в именованный location

Дмитрий Мурзин April 14, 2017 12:12PM

Re: rewrite в именованный location

Maxim Dounin April 14, 2017 01:10PM

Re[2]: rewrite в именованный location

Дмитрий Мурзин April 14, 2017 01:24PM

Re: rewrite в именованный location

Vadim A. Misbakh-Soloviov April 15, 2017 11:28PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 185
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