APISIX是一个非常强大的网关,提供了很多的插件。
这里介绍下response_rewrite插件的用法。
看名字就能知道,这个插件的作用是对返回的response进行重写。
官网说明:response-rewrite | Apache APISIX® -- Cloud-Native API Gateway
他支持很多参数,核心就下面4个。
body,header,vars,filters
使用的时候需要分两种情况。
1. 根据请求头参数、http状态参数进行匹配,然后重写body。
2. 根据返回body内容,进行重写。
第一种情况示例
根据http状态码或者header参数匹配重写。
{
"_meta": {
"disable": false
},
"body": "{\"code\":\"error\",\"message\":\"AccessDenied\"}",
"disable": false,
"headers": {
"set": {
"content-type": "application/json"
}
},
"vars": [
[
"status",
"==",
403
]
]
}
上面示例是根据返回状态码进行匹配,然后修改了请求头的content-type类型为json,然后重写了body返回内容。
其实是为了快速解决一个西南要求的安全内容,要求隐藏一个云平台对象存储返回403时,会携带存储桶等


1023

被折叠的 条评论
为什么被折叠?



