在请求转发给目标后端服务或后端服务的响应返回给客户端之前,Header修改策略可以修改原始请求中的Header。本文介绍云原生网关如何设置请求和响应的Header。
设置Header规则
云原生API网关提供了实例内和实例外两种配置Header修改策略的方式:
实例外API
登录云原生API网关控制台。左侧导航栏选择API,并在顶部菜单栏选择地域。
单击目标API,您可以在下拉框中选择需要配置Header修改策略的实例,或者选择全部实例。
选择路由列表中的目标路由。
实例内API
登录云原生API网关控制台。左侧导航栏选择实例,并在顶部菜单栏选择地域。
在实例页面,单击目标网关实例ID。左侧导航栏选择API,单击目标API。
选择路由列表中的目标路由。
单击策略配置页签,然后单击入站处理或出站处理的启动策略/插件。
单击Header修改卡片,在添加策略: Header修改面板配置相关参数,然后单击添加。
参数
描述
开启
开启:开启Header修改策略后,网关会控制请求和响应的Header。
关闭:关闭Header修改策略后,网关不会控制请求和响应的Header。
Header类型
选择Header类型,包括请求和响应。
请求:表示将会对请求的Header进行设置。
响应:表示将会对响应的Header进行设置。
操作类型
选择操作类型,包括新增、修改和删除。
新增:向请求或响应新增一个Header。
说明如果新增的Header已存在,那么Header Value将会拼接在已有的Header值后面,并通过英文逗号(,)分隔。
修改:修改请求或响应指定的Header。
说明如果指定的Header不存在,将会按照Header Key和Header Value进行新增操作。
如果指定的Header存在,将会进行覆盖修改操作。
删除:删除请求或响应指定的Header。
Header Key
输入请求或响应的头部名。
Header Value
输入请求或响应的头部值。
结果验证
假设添加一个测试的响应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