为Kong中的一项服务添加许多路由,以为该服务中的不同路径

时间:2018-10-25 14:32:42

标签: kong

我正在使用带有服务和路由的kong,需要创建一个具有许多路由的服务,其中一些路由是JWT,而其他则没有,类似于下一张表。

  | Route         | Route in service | Plugins JWT |
  |---------------|------------------|-------------|          
  |/service1      | /                | True        |  
  |/service1/url1 | /url1            | False       | 
  |/service1/url2 | /url2            | False       |  

但是,香港的路线非常简单,我尝试使用“ Strip Path”选项,但发送所有路线:

没有“条形路径”
“ / service1 / url1 => /”

带有“条形路径”
“ / service1 / url1 => / service1 / url1”

我需要
“ / service1 / url1 => / url1”

我只看到一种选择,为每个路径创建一个带有一条“路由”的“服务”,并在服务中配置路径,例如。

service1:{host:service1,path:null,route {path:[/ service1]}}}
service2:{host:service1,路径:/ url1,路由{路径:[/ service1 / url1]}}

但是这种解决方案效果不好。

2 个答案:

答案 0 :(得分:0)

我曾经这样做过以解决相同的问题

service1

  1. route1
    / service1-route1-> /

  2. route2
    / service1-route2-> /
    您可以请求为:/ service1-route2 / {url1} / xxx

  3. route3
    / service1-route3-> /
    您可以请求为:/ service1-route3 / {url2} / xxx

可能有帮助

答案 1 :(得分:0)

您可以使用无服务器发布功能插件(https://docs.konghq.com/hub/kong-inc/serverless-functions/)并编写自定义lua代码,以从请求中删除“ / service”字符串