Kong 3.4.0配置疑问:如何设置无需鉴权的路由?
实现方案
有两种常用的方式可以实现你的需求,具体如下:
方式一:新增独立路由(推荐)
给已有的NodeJS服务创建第二个路由,专门匹配/v1/help路径,且不绑定鉴权插件:
- 路由路径设置为
/v1/help,同样开启strip_path和preserve_host - 因为Kong路由匹配遵循精确路径优先的规则,客户端请求
/v1/help时会优先匹配这个无鉴权的路由,strip_path生效后会把请求转发到后端的/help路径
用Kong Admin API创建该路由的命令示例:
curl -X POST http://<你的Kong管理地址>:8001/services/<目标服务ID>/routes \ --data "paths[]=/v1/help" \ --data "strip_path=true" \ --data "preserve_host=true"
方式二:在鉴权插件中排除指定路径
如果不想新增路由,可以直接修改已有的API Key鉴权插件,添加路径排除规则:
- 给插件的
config.uri_exclude参数添加/v1/help,Kong会自动跳过该路径的鉴权校验 - 注意该参数是数组类型,支持同时排除多个路径
用Kong Admin API更新插件的命令示例:
curl -X PATCH http://<你的Kong管理地址>:8001/plugins/<鉴权插件ID> \ --data "config.uri_exclude[]=/v1/help"
两种方式对比
- 方式一:路由职责清晰,后续维护更直观,适合需要单独配置该路径其他插件的场景
- 方式二:配置更简洁,无需新增路由,适合仅需跳过鉴权的简单场景
内容的提问来源于stack exchange,提问作者malfoy
相关产品推荐
相关产品推荐

