grpc_pass_header
`grpc_pass_header` 指令配置应在 gRPC 请求中转发哪些 HTTP 头。 — NGINX HTTP Core
grpc_pass_header
httpserverlocation
语法grpc_pass_header header_name;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
`grpc_pass_header` 指令用于指定应从传入请求传递到上游 gRPC 服务器的哪些头。该指令在 gRPC 代理中起着关键作用,尤其在 gRPC 服务在运行时需要特定头时。当在适当的上下文 (http, server, location) 中设置时,它允许对头转发进行细粒度控制,使服务能够从客户端接收必要的元数据。 此指令的一个主要特点是它接受一个参数,该参数是要转发的 HTTP 头的名称。该参数不区分大小写,这意味着指定 `example-header` 或 `Example-Header` 将产生相同的结果。该指令可以重复使用以转发多个头,从而有助于在服务边界之间保持重要的元数据。 在需要保留并随 gRPC 调用一并传递身份验证令牌、跟踪 ID 或其他形式元数据的场景中,使用此指令尤其有用。它增强了依赖细微头信息进行操作的服务之间的互操作性,从而改善整体 API 功能。
配置示例
location /api {
grpc_pass backend;
grpc_pass_header Custom-Header;
}⚠
确保请求头名称拼写正确并与上游 gRPC 服务器所期望的名称一致;该指令不区分大小写。
⚠
在转发时应谨慎,除非确有必要,否则不要暴露敏感请求头。