2022最新Kong插件开发教程
Kong网关插件开发教程
一.前言
很久没更新博客内容了~,之前一直想看Api网关的开源框架Kong,但是奈何各种事情打扰也没静下心来学习。不知道是什么缘故,之前总感觉Kong很难,入门门槛高。不过经过这几天的学习,发现和学习一个Nginx也没太多区别。可能人对自己未知的事物总是抱有一种恐惧感吧。今天分享记录一下Kong插件开发的基本流程。
二.原理分析
Kong本身就是一个Lua包,并且是在Openresty的基础之上做了一层封装的应用。归根结底就是利用Lua嵌入Nginx的方式,赋予了Nginx可编程的能力,这样以插件的形式在Nginx这一层能够做到无限想象的事情。例如限流、安全访问策略、路由、负载均衡等等。那其实编写一个Kong插件,就是按照Kong插件编写规范,写一个自己自定义的Lua脚本,然后加载到Kong中,最后引用即可。
官方文档参考: Plugin Development - Introduction - v2.7.x | Kong Docs
三.基本步骤与演示
1.插件功能简介
该插件防止客户端通过ip地址或者其他非法域名对Kong进行访问,否则返回自定义HTTP响应状态码(默认: 403)和消息内容(Access Forbidden)。
插件源码Github地址: https://github.com/dream-mo/kong-plugin-ip-access-forbidden
2.操作与开发步骤
1.在/usr/local/share/lua/5.1/kong/plugins路径下创建插件目录 ip-access-forbidden

2.必须存在至少2个文件:
1.handler.lua
业务的主核心逻辑代码编写.
2.schema.lua
定义参数校验、参数格式限制参数的传递合法性,handler.lua可以从中获取到注入的插件参数.
3.修改/etc/kong/kong.conf配置文件,加载ip-access-forbidden插件
plugins = bundled,ip-access-forbidden

4.重启kong或者reload kong
kong restart
kong prepare && Kong reload
5.访问加载插件是否正常

6.通过Konga界面配置插件

7.访问测试

「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!
更多推荐
所有评论(0)