Re: Наследование директив установки заголовков
Валентин Бартенев
vbart на nginx.com
Пн Янв 1 12:35:03 UTC 2018
On Monday, 1 January 2018 07:34:48 MSK gz wrote:
> Знатоки, поясните пожалуйста, с какой целью в nginx сделано так, что
> add_header и proxy_set_header «наследуются с предыдущего уровня при условии,
> что на данном уровне не описаны свои директивы»?
>
> Это же ужасно неудобно — хочется задать ряд общих заголовков на уровне
> http/server, а в location'ах добавлять отдельные заголовки.
> Стоит прозевать и установить единственный заголовок в location'е —
> отваливаются все вышеустановленные.
>
> Наверное, у такого решения есть большие преимущества, но прояснить их для
> себя не могу.
>
1. Это не отличается от всех остальных директив в nginx, т.е. это единое
правило, делающее конфигурацию единообразной.
При этом, если раньше какую-то директиву можно было задать только один
раз, а позже стало возможным описывать несколько таких директив, то
существующие конфигурации от этого не ломаются, ибо правило наследования,
что у одной директивы, что у нескольких - одниковое.
2. А про остальное рассказывает Игорь:
https://www.youtube.com/watch?v=fcG-7k20oG8
Если кратко, это делает конфигурацию однозначной. Работает ровно то,
что видите в конкретном блоке. Вам не нужно просматривая все уровни
вложенности и в уме суммировать списки директив.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru