配置Header修改策略

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

设置Header规则

  1. 云原生API网关提供了实例内和实例外两种配置Header修改策略的方式:

    实例外API

    1. 登录云原生API网关控制台。左侧导航栏选择API,并在顶部菜单栏选择地域。

    2. 单击目标API,您可以在下拉框中选择需要配置Header修改策略的实例,或者选择全部实例image

    3. 选择路由列表中的目标路由。

    实例内API

    1. 登录云原生API网关控制台。左侧导航栏选择实例,并在顶部菜单栏选择地域。

    2. 实例页面,单击目标网关实例ID。左侧导航栏选择API,单击目标API。

    3. 选择路由列表中的目标路由。

  2. 单击策略配置页签,然后单击入站处理出站处理启动策略/插件

  3. 单击Header修改卡片,在添加策略: Header修改面板配置相关参数,然后单击添加

    参数

    描述

    开启

    • 开启:开启Header修改策略后,网关会控制请求和响应的Header。

    • 关闭:关闭Header修改策略后,网关不会控制请求和响应的Header。

    Header类型

    选择Header类型,包括请求响应

    • 请求:表示将会对请求的Header进行设置。

    • 响应:表示将会对响应的Header进行设置。

    操作类型

    选择操作类型,包括新增修改删除

    • 新增:向请求或响应新增一个Header。

      说明

      如果新增的Header已存在,那么Header Value将会拼接在已有的Header值后面,并通过英文逗号(,)分隔。

    • 修改:修改请求或响应指定的Header。

      说明
      • 如果指定的Header不存在,将会按照Header KeyHeader Value进行新增操作。

      • 如果指定的Header存在,将会进行覆盖修改操作。

    • 删除:删除请求或响应指定的Header。

    Header Key

    输入请求或响应的头部名。

    Header Value

    输入请求或响应的头部值。

结果验证

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

image

执行以下测试请求命令:

curl -I  http://121.196.XX.XX/demo/item/list       // 网关入口IP

响应结果(返回带有test:demoHeader值):

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