记录升级 KONG3.1 网关遇到的坑

本文档详细记录了从 KONG 2.1 升级到 3.1.1 过程中遇到的挑战,主要涉及动态路由的调整和自定义插件的配置。动态路由需在 Konga 中更改配置,以确保正确转发。同时,升级后在处理路由参数时,需启用特定标志避免路径前缀在上游请求中出现。对于自定义插件,需更新 docker-compose 文件和 constants.lua 文件。
摘要由CSDN通过智能技术生成

记录升级 KONG3.1 网关遇到的坑

原始版本:2.1

升级版本:3.1.1

动态路由

  • 默认使用插件 request-transformer

假如你有一个真实路由 /user/all,现在需要网关做转发,前端请求路由为/web/v1/demo/user/login

原始版本你需要在 Konga 路由页面配置PATH/web/v3/demo/user/login$,然后通过插件就能正常将接口转发到后端真实路由

升级版本你需要在 Konga 路由页面配置PATH~/web/v3/demo/user/login$,然后才能通过插件就能正常将接口转发到后端真实路由

具体缘由如下:

企业微信截图_0f9e1c1b-a64a-4a64-afa3-bd500fa51e8d

路由参数(strip_path

可能需要指定路径前缀来匹配路由,但不要将其包含在上游请求中。为此,请strip_path通过配置路由来使用布尔属性,如下所示:

{
   
    "paths": ["/service"],
    "strip_path": true,
    "service": {
   
        "id": "..."
    }
}

启用此标志指示 Kong Gateway 在匹配此路由并继续代理服务时,不应上游请求的 URL 中包含 URL 路径的匹配部分。比如下面客户端对上面路由的请求:

GET /service/path/to/resource HTTP/1.1
Host: ...

这会导致 Kong Gateway 发送以下上游请求:

GET /path/to/resource HTTP/1.1
Host: ...

同样,如果在已启用的路由上定义了 Regex 路径strip_path ,则整个请求 URL 匹配序列将被剥离。例如:

{
   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值