配置API的HTTP响应头
API响应是指API网关返回客户端的响应,HTTP响应头是API响应中的一部分。您可以自定义HTTP响应头,在返回的API响应中指定您配置的响应头。
- 如果此策略在当前实例中不支持,请联系技术支持升级实例到最新版本。
- 策略参数会明文展示,为防止信息泄露,请谨慎配置。
使用限制
- 无法修改API网关增加的系统响应头(x-apig-*,x-request-id等),包括API网关提供的CORS功能增加的响应头。
- 一个API只能绑定一个相同类型的策略。
- 策略和API本身相互独立,只有为API绑定策略后,策略才对API生效。为API绑定策略时需指定发布环境,策略只对指定环境上的API生效。
- 策略的绑定、解绑、更新会实时生效,不需要重新发布API。
- API的下线操作不影响策略的绑定关系,再次发布后仍然会带有下线前绑定的策略。
- 如果策略与API有绑定关系,则策略无法执行删除操作。
创建HTTP响应头策略
- 进入API网关控制台页面。
- 根据实际业务在左侧导航栏上方选择实例。
- 在左侧导航栏选择“API管理 > API策略”。
- 在“策略管理”页面,单击“创建策略”。
- 在“选择策略类型”弹窗中,选择“插件策略 > HTTP响应头管理”。
- 在“创建策略”弹窗中,配置策略信息。
表1 HTTP响应头参数说明 参数
说明
策略名称
填写策略的名称,根据业务规划自定义。建议您按照一定的命名规则填写策略名称,方便您快速识别和查找。
策略类型
固定为“HTTP响应头”。
描述
填写策略的描述信息。
策略内容
策略的配置内容,支持表单配置和脚本配置两种方式。
Name
响应头名称。每个策略中不能添加重复名称的响应头(不区分大小写),且最多添加10条响应头。
Value_type
响应头的类型。
system_parameter:使用系统参数作为响应头的value。
custom_value:自定义内容作为响应头的value。
字符串:
Value
响应头的值。当“Action”为“Delete”时响应头的值不生效,可为空。
Action
响应头操作,您可以覆盖、添加、删除、跳过或新增指定的响应头。
Override:覆盖
- 当API响应中存在指定的响应头时,使用当前响应头的值覆盖已有响应头的值。
- 当API响应中存在多个与指定响应头相同名称的响应头时,该操作只会按当前响应头的值返回一条响应头记录。
- 当API响应中不存在指定的响应头时,添加当前响应头。
Append:添加
- 当API响应中存在指定的响应头时,将当前响应头的值添加到已有响应头值之后,用逗号分隔。
- 当API响应中存在多个与指定响应头相同名称的响应头时,会将多个响应头的值用“,”拼接后,再添加当前响应头的值。
- 当API响应中不存在指定的响应头时,添加当前响应头。
Delete:删除
- 当API响应中存在指定的响应头时,删除当前响应头。
- 当API响应中存在多个与指定响应头相同名称的响应头时,删除所有相同名称的响应头。
Skip:跳过
- 当API响应中存在指定的响应头时,跳过当前响应头。
- 当API响应中存在多个与指定响应头相同名称的响应头时,均不作处理直接返回。
- 当API响应中不存在指定的响应头时,添加当前响应头。
Add:新增
无论API响应中是否存在指定的响应头,都添加当前响应头。
- 单击“确定”。
- 如果您需要复制已创建的策略,请在已创建策略的“操作”列中单击“克隆”配置参数即可。
克隆策略的名称不能与已创建的策略名称重复。
- 策略创建后,您还需要为策略绑定API,才能使策略对API生效。
- 如果您需要复制已创建的策略,请在已创建策略的“操作”列中单击“克隆”配置参数即可。
脚本配置示例
{ "response_headers": [ { "name": "test", "value": "test", "action": "append" }, { "name": "test1", "value": "test1", "action": "override" } ] }