Istio/Envoy:如何关闭HTTP请求头归一化功能
如何通过EnvoyFilter关闭Istio的重复HTTP请求头归一化功能
Istio默认启用重复HTTP请求头归一化机制,会将重复的请求头合并为单个请求头,使用逗号作为分隔符拼接所有值。由于官方文档未直接提供关闭该功能的配置项,可通过EnvoyFilter补丁修改Envoy的HeaderMutationRules配置来实现关闭。
以下是具体的EnvoyFilter配置示例:
apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata: name: disable-duplicate-header-normalization namespace: istio-system spec: workloadSelector: labels: istio: ingressgateway # 若需对所有Sidecar生效,可改为istio: sidecar configPatches: - applyTo: NETWORK_FILTER match: context: ANY listener: filterChain: filter: name: "envoy.filters.network.http_connection_manager" patch: operation: MERGE value: typed_config: "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager" header_mutation_rules: merge_duplicate_headers: false
配置说明:
workloadSelector:指定该补丁要作用的Istio负载,可根据需求选择入口网关、特定服务的Sidecar或全局Sidecarheader_mutation_rules.merge_duplicate_headers: false:通过设置该字段为false,直接关闭Envoy的重复请求头合并功能,覆盖Istio默认的归一化规则
注意:需根据你所使用的Istio版本调整API版本及配置结构,确保与当前部署的Envoy API版本兼容。
内容的提问来源于stack exchange,提问作者Grigory Korolev
相关产品推荐
相关产品推荐

