nested location inheritance
Maxim Dounin
mdounin at mdounin.ru
Tue Jan 13 13:36:10 UTC 2015
Hello!
On Mon, Jan 12, 2015 at 11:33:35PM +0300, Vasil Mikhalenya wrote:
> Большое спасибо, так значительно компактнее.
> Можно пару слов, чем обусловлена такая реализация
Идея состоит в том, что все настройки/опции - наследуются. Это
позволяет писать простые и эффективные с точки зрения ресурсов
конфиги.
Не наследуются только некоторые специальные директивы,
предназначенные для использования в конкретных location'ах:
- Директивы, включающие какую-либо безусловную обработку запросов
в рамках данного location'а вместо выдачи статических файлов (из
стандартных - proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass,
memcached_pass, flv, mp4, stub_status, empty_gif, perl).
- Инструкции модуля rewrite.
- Директива try_files.
Собственно, до появления вложенных location'ов эти особенности
вообще никак не были видны с точки зрения пользователя, т.к.
упомянутые директивы (кроме разве что try_files с некоторых пор)
нельзя было использовать вне контекста location (или, как в случае
с инструкциями rewrite, они там документировано работали по
другому). Да и сейчас случаи, когда директивы не наследуются,
более или менее очевидны.
> и где в документации
> описаны данные особенности, если описаны?
Явного описания, вероятно, не существует.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru