Krakend配置编写问询:是否支持通配符匹配后端百余个端点
Krakend多端点批量配置问题解答
不需要逐一编写全部端点配置
Krakend原生支持批量路径匹配能力,完全不需要把100+端点逐个硬编码到config.json中。
两种常用的批量配置方案
路径通配符/参数占位符匹配
这是最常用的轻量批量配置方式,你可以通过命名参数{参数名}匹配单级路径,用{*}匹配路径末尾的任意多级路径。
举个通用配置示例:{ "endpoint": "/api/{version}/{module}/{*}", "method": "GET", "backend": [ { "url_pattern": "/api/{version}/{module}/{*}", "host": ["http://your-backend-service"] } ] }以上配置可以匹配所有
/api/v1/users/info、/api/v2/orders/detail/123等同规则的端点,一次配置覆盖所有符合路径规则的后端接口。
注意:通配符{*}只能放置在端点路径的最后一位,不能放在路径中间使用配置模板批量生成
如果你的端点规则更复杂、不同分组的端点有不同的限流、鉴权配置,可以使用Krakend的模板渲染能力,把重复的配置逻辑抽象成模板,通过变量循环批量生成所有端点的配置,适合规则分层的大规模端点场景。
额外注意事项
Krakend的路由匹配逻辑为精确路径优先,如果你有个别特殊端点需要定制配置,只需要把这部分端点的配置写在通配符配置的前面,就会优先被匹配到,不会和批量配置冲突。同时批量配置时建议做好路径范围限制,避免不小心暴露未对外开放的后端内部端点。
内容的提问来源于stack exchange,提问作者Thiago Freitas
相关产品推荐
相关产品推荐

