add_trailer_inherit

Директива `add_trailer_inherit` настраивает, наследуются ли трейлерные заголовки из проксируемых ответов в контексте HTTP-сервера NGINX. — NGINX HTTP Core

add_trailer_inherit
httpserverlocationif in location
Синтаксисadd_trailer_inherit on | off;
По умолчаниюoff
Контекстhttp, server, location, if in location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `add_trailer_inherit` предоставляет механизм для настройки того, как обрабатываются трейлерные заголовки (заголовки, отправляемые после основного тела ответа) в контексте проксируемого сервера. Когда директива включена, она позволяет наследовать эти трейлерные заголовки из ответа upstream-сервера и включать их в ответ, направляемый клиенту. Это особенно полезно при работе с кодировками передачи, такими как chunked, когда дополнительные заголовки нужно отправить в конце ответа, чтобы передать клиенту необходимые метаданные. Директива принимает один аргумент, который является логическим значением: либо 'on', либо 'off'. Если установлено 'on', NGINX включит любые трейлерные заголовки, полученные от upstream-сервера, в ответ, отправляемый клиенту. Если установлено 'off', эти заголовки включены не будут. Важно понимать, что наследование трейлерных заголовков может повлиять на поведение клиента, особенно в сценариях, связанных с HTTP/1.1 chunked-передачами. Поэтому при использовании этой директивы следует внимательно учитывать конфигурацию upstream-сервера и ожидания клиентов.

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

http {
    server {
        location /example {
            proxy_pass http://upstream_server;
            add_trailer_inherit on;
        }
    }
}

Убедитесь, что upstream server действительно отправляет trailer headers; в противном случае включение данной directive не даст эффекта.

Чрезмерное использование trailer headers может привести к непредвиденному поведению со стороны клиента, если клиенты не обрабатывают их должным образом.