You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Istio中x-b3-*类追踪头部是在哪个环节被过滤的?

Istio x-b3-* 追踪头过滤环节说明

x-b3-* 类 B3 格式追踪头的过滤逻辑发生在 Envoy Sidecar 代理处理响应流量的路由器过滤(Router Filter)阶段,具体原因如下:

  • Istio 默认的链路追踪配置仅负责在请求链路的各节点转发过程中生成、透传追踪头,用于跨服务的链路上下文传递,没有默认配置将这类内部链路头写入响应返回给上游调用方。
  • Envoy 的路由器过滤器在处理响应时,默认仅保留业务服务返回的原生响应头、以及 Istio 显式配置需要追加的公共响应头(比如x-envoy-upstream-service-time这类默认暴露的性能统计头),B3 追踪头属于链路内部传递的上下文数据,不在默认返回白名单中。
  • 你能通过 EnvoyFilter 访问到相关头部,是因为追踪上下文会在请求的全生命周期内存储在 Envoy 的请求元数据中,只要显式配置将这类头追加到响应头,即可返回给调用方。

如果需要将 traceid 返回给调用方,可以通过如下 EnvoyFilter 配置实现:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: add-traceid-response-header
  namespace: istio-system
spec:
  workloadSelector:
    labels:
      istio: ingressgateway # 也可以替换为对应业务工作负载的标签
  configPatches:
  - applyTo: RESPONSE_HEADER_ADD
    match:
      context: GATEWAY # 业务Sidecar场景改为SIDECAR_INBOUND
    patch:
      operation: ADD
      value:
        name: "x-b3-traceid"
        value: "%REQ(x-b3-traceid)%"

注意:如果需要返回其他 B3 头,按照上述格式追加对应配置即可。

内容的提问来源于stack exchange,提问作者user2095730

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:54:03