欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Kong网关插件使用

程序员文章站 2022-06-17 17:52:08
...

转载 李亚飞 大佬的文章:https://www.lyafei.com/

授权验证

在接口请求中权限验证是一个恒久不变的话题,Kong 自带了6种加密方式

Kong网关插件使用

先创建一个 Basic Auth,直接确认即可

Kong网关插件使用

此时页面访问 http://dev.lyafei.com:8000/dev 会弹出登录框,让你输入用户名密码,若取消则会返回{“message”:“Unauthorized”},若输入用户名和密码后确认会返回 {“message”:“Invalid authentication credentials”},因为虽然开启了验证,但是还没有录入用户名和密码,Kong 里面有个 Consumer 的概念,需要增加一个Consumer

Kong网关插件使用

Kong网关插件使用

这个时候只有输入正确用户名和密码才能访问,这种方式在网页上用的比较多,时间有限,就不一一介绍了。

插件局部生效

通过上述配置的插件生效范围都是全局生效的,一般我们一个网关可能代理了N个 service 的入口,如果插件的生效范围只是全局,基本上就限制了使用范围,当然 Kong 的设计者考虑的比较周到,是否全局都可,Konga2.X 的版本可以在 UI 界面针对某个服务进行配置,低版本的 Konga 不支持,所以对于低版本的 Konga 来说,只能通过 Kong 的官方管理 API 的方式来创建只对于某个服务生效的插件。

Kong网关插件使用

如图设置后,这个 dev-service 对于的请求就一定要加密,不然会返回 {“message”:“No API key found in request”},
需要加入配置的参数名和值才可以正常请求,而另外一个可以不用就可以正常调用,效果如下图

Kong网关插件使用

同时插件对应的范围和适用范围都能在 Konga 的插件管理中看出来

Kong网关插件使用

上游服务器负载

一般来说一个服务会有多个上游服务器,一般我们会采用一些开源的组件来去配置,Nginx 就可以做到,基于 Nginx 的 Kong 当然也做得到负载均衡

Kong网关插件使用

再去创建 service

Kong网关插件使用

最后创建 routes 之后,就实现了负载均衡的目的,效果如下:

curl dev.lyafei.com:8000
app1
curl dev.lyafei.com:8000
uat1
curl dev.lyafei.com:8000
app1
curl dev.lyafei.com:8000
uat1
curl dev.lyafei.com:8000
uat1

备份管理

Kong网关插件使用

Kong网关插件使用

Kong网关插件使用

Kong网关插件使用

相关标签: Kong 网关 kong