How to write $upstream_trailer_{name} into access.log
Maxim Dounin
mdounin на mdounin.ru
Вт Май 25 12:01:49 UTC 2021
Hello!
On Tue, May 25, 2021 at 11:07:38AM +0300, Gena Makhomed wrote:
[...]
> Остается только одна небольшая проблема - если в server или в location
> присутствуют свои директивы add_header, то там надо будет продублировать
> вручную эти две директивы add_header с уровня http.
Традиционное решение - использовать include-файл со "стандартными"
заголовками, и при необходимости включать его там, где нужно не
переопределить, а дополнить добавляемые заголовки.
> Можно ли добавить в nginx директиву, например, force_add_header,
> которая будет почти во всем аналогична директиве add_header,
> но только директива add_header не будет отменять действие
> директивы force_add_header, а директива force_add_header
> не будет отменять действие директивы add_header.
>
> В случае коллизии - одно и то же имя заголовка задается
> и директивой force_add_header и директивой add_header
> в каком-то location - тогда пишется warning во время
> тестирования конфигурации и действует только директива
> force_add_header, два заголовка с одним и тем же именем
> не добавляются в ответ сервера.
Нет, нельзя.
Возможно, когда-нибудь добавится концепция "явно унаследовать
список с предыдущего уровня и дать возможность дополнить его",
что-нибудь вроде
add_header inherit;
add_header Foo bar;
Что по сути аналогично использованию include-файла, но чуть проще
синтаксически. Но это, скажем так, очень абстрактная идея,
реализация которой под очень большим вопросом.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru