Welcome! Log In Create A New Profile

Advanced

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

Maxim Dounin
April 13, 2017 03:02PM
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
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: 158
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