上云无忧 > 文档中心 > 腾讯云微服务引擎 TSE 请求路由 - 使用重写插件改写请求或响应
微服务引擎 TSE
腾讯云微服务引擎 TSE 请求路由 - 使用重写插件改写请求或响应

文档简介:
操作场景: 本文介绍如何在 Kong 云原生网关上通过 Kong 插件实现下述常见请求/响应改写场景: 支持在请求阶段对 header/query/body 进行改写。 支持在响应阶段对 header/body 进行改写。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

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

前置条件

已购买 Kong 网关实例,详情请参见 实例管理
配置了后端(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. 登录 Konga 管理控制台,进入需要配置响应改写的 Service 详情页,单击 Add Plugin 添加插件,在 Transformations 分组下选择 TSE PROXY REWRITE 插件。
2. 在插件中填写以下配置,实现响应阶段新增一个 Header 参数。

3. 发起 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. 登录 Konga 管理控制台,进入需要配置请求改写的 Service 详情页,单击 Add Plugin 添加插件,在 Transformations 分组下选择 TSE PROXY REWRITE 插件。
2. 在插件中填写以下配置,实现响应阶段改写 Query 参数。

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

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

1. 登录 Konga 管理控制台,进入需要配置请求改写的 Service 详情页,单击 Add Plugin 添加插件,在 Transformations 分组下选择 TSE PROXY REWRITE 插件。
2. 在插件中填写以下配置,实现响应阶段增加 Body 参数。

注意
对 body 参数的操作,需要请求传入 Content-Type 的 Header。仅当 Content-Type 为 application/json, multipart/form-data, application/x-www-form-urlencoded 时,才会进行 body 字段的改写。
3. 发起 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"}
相似文档
  • 注册中心用于云上注册中心托管,实现基本的微服务注册与发现、以及微服务可视化管理与监控等功能,解决客户基于开源自建模式的部署繁琐、异常运维耗时等问题。
  • 为了帮助您快速体验如何将应用接入 TSE ZooKeeper 注册中心,本文以一对 Demo 示例(包含一个 provider 应用和一个 consumer 应用)介绍如何将通过 CVM 部署的 Spring Cloud 应用接入微服务引擎托管的 ZooKeeper 注册中心,并实现简单的服务访问。
  • 操作场景: 本文介绍通过 TSE 控制台创建、查看、升级、重启、销毁引擎的操作步骤,快速了解 TSE 控制台操作流程。
  • 操作场景: ZooKeeper 引擎支持服务管理功能,提供可视化的服务管理界面,服务注册至注册中心后,您可以在 TSE 控制台查看服务上下线和运行情况。
  • 操作场景: 客户端访问地址是 Zookeeper 服务端暴露的地址,供用户服务连接到 Zookeeper 进行服务通信、服务配置时使用。 客户端访问方式支持公网和内网两种访问方式。默认提供 VPC 内网访问。公网访问方式可用于开发调试或辅助管理,您可以根据需要自行选择是否打开。业务访问建议内网访问方式,避免外网访问的潜在安全风险。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部