$grpc_internal_trailers
变量 $grpc_internal_trailers 包含 gRPC 响应的内部 trailer 字段。 — NGINX Core (HTTP)
$grpc_internal_trailers
NGINX Core (HTTP)
说明
$grpc_internal_trailers 变量在 gRPC 协议上下文中用于访问 gRPC 响应的 trailer 字段。gRPC 中的 trailer 是可以在响应末尾发送的键值对,类似于 HTTP headers,允许在响应体之外传递额外的元数据。只有当服务器处理 gRPC 请求并且能够处理 trailer 字段时,该变量才会被填充。 在处理 gRPC 响应时,如果相关的 trailer 信息被设置为包含,则可以通过 $grpc_internal_trailers 访问。因此,该变量通常包含以类似于 HTTP headers 的格式表示的 trailer 字段的字符串表示,字段之间由逗号或换行符分隔。如果请求没有返回任何 trailers,则该变量将保持为空。使用 trailers 可以提高通信效率,使服务器能够在不增加响应体开销的情况下随响应发送重要信息。
配置示例
location /example {
grpc_pass grpc://backend;
add_header Trailer 'grpc-status';
set $status $grpc_internal_trailers;
}子系统
http可缓存
否上下文
http, server, location⚠
确保你的上游 gRPC 服务器确实设置了 trailers,否则该变量将为空。
⚠
避免在未使用 gRPC 的上下文中使用 $grpc_internal_trailers,因为它不会被填充。