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

如何配置EnvoyProxy不覆盖已存在的Cookie及自定义请求头?

Envoy Proxy 请求头与Cookie配置方案

一、自定义请求头仅在不存在时添加(不覆盖)

在Envoy的HTTP路由或过滤器配置中,使用request_headers_to_add字段时,通过指定header_action为SET_IF_NOT_PRESENT,即可实现仅当目标请求头不存在时才添加,已存在则保留原数值。示例配置片段如下:

routes:
- match:
    prefix: "/"
  route:
    cluster: your_service_cluster
  request_headers_to_add:
  - header:
      key: "X-Custom-Header"
      value: "default-value"
    header_action: SET_IF_NOT_PRESENT

SET_IF_NOT_PRESENT动作会自动检查请求中是否已存在目标请求头:存在则跳过添加逻辑,不存在则设置为指定值。

二、确保不覆盖已存在的Cookie

Cookie属于单头多值的特殊请求头,处理逻辑与普通请求头一致:如果你的Envoy配置中有添加Cookie的操作,同样使用SET_IF_NOT_PRESENT动作避免覆盖已存在的Cookie;若要阻止Envoy修改现有Cookie,需检查是否有过滤器(如envoy.filters.http.cookie_to_metadata)或路由配置中存在修改Cookie的规则,将相关操作的动作改为SET_IF_NOT_PRESENT,或移除不必要的Cookie修改配置。

示例Cookie配置:

request_headers_to_add:
- header:
    key: "Cookie"
    value: "session-id=default-sid"
  header_action: SET_IF_NOT_PRESENT

该配置仅在请求无Cookie头时添加指定内容,若已有Cookie头则完全保留原内容,不会覆盖或追加。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:28:24