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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить