帮你快速理解、总结文档立即下载

使用重写插件改写请求或响应

最近更新时间:2026-07-23 17:07:35

我的收藏

操作场景

本文介绍如何在 云原生网关 上通过 Kong 插件实现下述常见请求/响应改写场景:
支持在请求阶段对 header/query/body 进行改写
支持在响应阶段对 header/body 进行改写

前置条件

已购买网关实例,详情请参见 新建网关
配置了服务(Service)以及路由(Route)。

插件说明

插件名称:TSE PROXY REWRITE
插件分类:Transformations
概述:实现对客户端的请求和响应进行改写,支持使用 Nginx 内置变量。
具体能力:
支持在请求或响应阶段对 query/header 参数进行新增、编辑、删除。
当 content-type 为 application/json, multipart/form-data, application/x-www-form-urlencoded 时,支持在请求或响应阶段对 body 字段进行新增、编辑、删除。
支持使用 NGINX 变量重写请求/响应。

插件配置

配置项
是否必填
配置说明
Header 参数
支持配置多条,每条配置项包括生效阶段、操作类型、键、值。
生效阶段:支持请求、响应。
操作类型:支持新增、删除、编辑。
键值:输入请求/响应的 Header 参数名和值。
支持以 $var 的格式包含 NGINX 变量,例如 $remote_addr $balancer_ip。
Query 参数
支持配置多条,每条配置项包括生效阶段、操作类型、键、值。
生效阶段:支持请求。
操作类型:支持新增、删除、编辑。
键值:输入请求的 Query 参数名和值。
支持以 $var 的格式包含 NGINX 变量,例如 $remote_addr $balancer_ip。
Body
支持配置多条,每条配置项填写生效阶段、操作类型、键、值。
生效阶段:支持请求、响应。
操作类型:支持新增、删除、编辑。
键值:当 content-type 为 application/json, multipart/form-data, application/x-www-form-urlencoded 时,输入 body 字段的参数名和值。
注意
当操作类型为编辑时,如果指定的参数不存在,则会按照新增操作新增键和值;如果指定的参数已存在,则会进行值替换。

操作步骤

场景一:实现响应阶段增加 Header 参数

1. 登录 TSF 控制台
2. 在左侧导航栏选择云原生网关 ,单击目标实例进入实例详情。
3. 在基础信息页面,单击 Konga 控制台标签查看管理控制台登录方式。

4. 单击公网访问地址进入 Konga 控制台
5. 进入需要配置流量镜像的 Service 详情页,单击 Add Plugin 添加插件,在 Transformations 分组下选择 TSE PROXY REWRITE 插件。
6. 在插件中填写以下配置,实现响应阶段新增一个 Header 参数。


7. 发起 API 请求,查看后端服务的响应是否新增的 Header 参数。
HTTP/1.1 200 OK
Addheader: test
Connection: keep-alive
Content-Length: 20
Content-Type: application/octet-stream
Date: Thu, 22 Dec 2022 06:31:11 GMT
Server: nginx/1.20.1
Via: kong/2.5.1
X-Kong-Proxy-Latency: 30
X-Kong-Upstream-Latency: 66

this is test service


场景二:实现请求阶段改写 Query 参数

1. 登录 TSF 控制台
2. 在左侧导航栏选择云原生网关 ,单击目标实例进入实例详情。
3. 在基础信息页面,单击 Konga 控制台标签查看管理控制台登录方式。

4. 单击公网访问地址进入 Konga 控制台
5. 进入需要配置流量镜像的 Service 详情页,单击 Add Plugin 添加插件,在 Transformations 分组下选择 TSE PROXY REWRITE 插件。
6. 在插件中填写以下配置,实现请求阶段改写 Query 参数。



7. 发起 API 请求,查看后端服务是否收到改写的 Query 参数。

场景三:实现响应阶段增加 Body

1. 登录 TSF 控制台
2. 在左侧导航栏选择云原生网关 ,单击目标实例进入实例详情。
3. 在基础信息页面,单击 Konga 控制台标签查看管理控制台登录方式。

4. 单击公网访问地址进入 Konga 控制台
5. 进入需要配置流量镜像的 Service 详情页,单击 Add Plugin 添加插件,在 Traffic Control 分组下选择 TSE PROXY REWRITE 插件。
6. 在插件中填写以下配置,实现响应阶段增加 Body 参数。


注意
对 body 参数的操作,需要请求传入 Content-Type 的 Header。仅当 Content-Type 为 application/json, multipart/form-data, application/x-www-form-urlencoded 时,才会进行 body 字段的改写。
7. 发起 API 请求,查看后端服务的响应是否收到新增的 Body 参数。
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/json
Date: Thu, 22 Dec 2022 06:53:43 GMT
Server: nginx/1.20.1
Via: kong/2.5.1
X-Kong-Proxy-Latency: 22
X-Kong-Upstream-Latency: 63
Content-Length: 54

{"myreturn":"this is test service","addbody":"return"}