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