more_set_input_headers

Директива `more_set_input_headers` позволяет добавлять, изменять или удалять входящие заголовки в конфигурациях NGINX.

Синтаксисmore_set_input_headers header1; [header2...];
По умолчаниюnone
Контекстhttp, server, location, if in location
Аргументы1+

Описание

Директива more_set_input_headers является частью модуля ngx_headers_more, который используется для управления HTTP-заголовками в NGINX. Эта директива ориентирована на входящие заголовки и может применяться в различных контекстах, таких как http, server, location, а также внутри 'if' блока в пределах location. Директива может принимать одну или несколько спецификаций заголовков в качестве аргументов, что обеспечивает гибкие изменения. Каждый входящий заголовок может быть установлен, заменён или удалён в зависимости от предопределённых условий.

При использовании more_set_input_headers можно применять разные опции. Например, с помощью флага -r существующие заголовки заменяются только если они уже присутствуют. Это добавляет уровень контроля над манипуляцией заголовками и предотвращает непреднамеренное перезаписывание заголовков, которых нет. Кроме того, можно задать фильтрацию по типу содержимого (content-type), когда директива будет применяться только к определённым заголовкам в зависимости от типа содержимого запроса. Поддерживается также указание нескольких MIME-типов в одном вызове, что обеспечивает дополнительную детализацию при управлении заголовками.

Пример конфига

location /example {
    more_set_input_headers 'X-Example-Header: value';
    more_set_input_headers -r 'X-Existing-Header: new-value';
}

Убедитесь, что заголовки, которые вы пытаетесь установить, существуют в запросе; в противном случае замена не будет иметь эффекта при использовании -r flag.

Использование неинициализированных переменных в заголовках может привести к непредсказуемому поведению, если они не будут корректно определены до использования.

← Ко всем директивам