在请求转发给目标后端服务或后端服务的响应回复给客户端之前,Header设置可以修改原始请求中的Header。本文介绍云原生网关如何设置请求和响应的Header。

设置Header规则

  1. 登录MSE网关管理控制台
  2. 在左侧导航栏选择云原生网关 > 网关列表
  3. 在顶部菜单栏选择地域,然后单击目标网关名称或操作列下的管理
  4. 网关详情页面左侧导航栏单击路由配置
  5. 路由配置页面,在需要变更的路由规则操作列单击策略配置
  6. 策略配置区域单击Header设置页签,单击右侧的编辑图案添加新规则
  7. 在Header设置规则列表中填写规则参数,然后单击右上方的保存
    添加Header设置规则

    Header设置参数说明如下:

    参数 描述
    Header类型 选择Header类型,包括请求和响应。
    • 请求:表示将会对请求的Header进行设置。
    • 响应:表示将会对响应的Header进行设置。
    操作类型 选择操作类型,包括新增、修改和删除。
    • 新增:向请求或响应新增一个Header。
      说明 如果新增的Header已存在,那么Header Value将会拼接在已有的Header值后面,并通过英文逗号(,)分隔。
    • 修改:修改请求或响应指定的Header。
      说明
      • 如果指定的Header不存在,将会按照Header Key和Header Value进行新增操作。
      • 如果指定的Header存在,将会进行覆盖修改操作。
    • 删除:删除请求或响应指定的Header。
    Header Key 输入请求或响应的头部名。
    Header Value 输入请求或响应的头部值。
  8. Header设置规则配置完成后,打开开启状态右侧的开关。
    • 开启:开启Header修改策略后,网关会操控请求和响应的Header。
    • 关闭:关闭Header修改策略后,网关不会操控请求和响应的Header。

结果验证

假设添加一个测试的响应Header,如下图所示,您可以根据实际业务场景进行设置。

Header设置
  • 执行以下测试请求命令:
    curl -I  http://121.196.XX.XX/demo/item/list       //网关入口IP
  • 响应结果(返回带有test:demo的Header值):
    HTTP/1.1 200 OK
    x-content-type-options: nosniff
    x-xss-protection: 1; mode=block
    cache-control: no-cache, no-store, max-age=0, must-revalidate
    pragma: no-cache
    expires: 0
    x-frame-options: DENY
    content-type: application/json
    content-length: 86
    date: Tue, 30 Nov 2021 03:03:04 GMT
    x-envoy-upstream-service-time: 4
    test: demo
    server: istio-envoy