grpc_pass_header
Директива `grpc_pass_header` настраивает, какие HTTP-заголовки должны пересылаться в gRPC-запросах. — NGINX HTTP Core
Описание
Директива `grpc_pass_header` используется для указания, какие заголовки из входящего запроса должны быть переданы на upstream gRPC server. Эта директива играет ключевую роль при проксировании gRPC, особенно когда определённые заголовки требуются gRPC-службой во время её работы. Когда она устанавливается в соответствующих контекстах (http, server, location), она позволяет тонко управлять пересылкой заголовков, давая возможность сервисам получать необходимые метаданные от клиентов. Одна из ключевых особенностей директивы `grpc_pass_header` — её способность принимать один аргумент, который задаёт имя HTTP-заголовка для пересылки. Этот аргумент нечувствителен к регистру, то есть указание `example-header` или `Example-Header` даст одинаковый результат. Директива может повторяться для пересылки нескольких заголовков при необходимости, что помогает сохранять важную метаинформацию при взаимодействии между сервисами. Использование этой директивы особенно полезно в сценариях, где требуется сохранять и передавать вместе с вызовами gRPC токены аутентификации, идентификаторы отслеживания или другие формы метаданных. Это улучшает совместимость между сервисами, которые зависят от детальной информации в заголовках для своей работы, и, следовательно, повышает общую функциональность API.
Пример конфига
location /api {
grpc_pass backend;
grpc_pass_header Custom-Header;
}Убедитесь, что имя заголовка написано правильно и соответствует тому, что ожидает upstream gRPC server, поскольку эта директива нечувствительна к регистру.
Будьте внимательны и не раскрывайте чувствительные заголовки при их пересылке, если это не абсолютно необходимо.