首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2022最新Kong插件开发教程[通俗易懂]

2022最新Kong插件开发教程[通俗易懂]

作者头像
全栈程序员站长
发布2022-09-13 15:07:13
1.8K0
发布2022-09-13 15:07:13
举报

大家好,又见面了,我是你们的朋友全栈君。

一.前言

很久没更新博客内容了~,之前一直想看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

022最新Kong插件开发教程[通俗易懂]"
022最新Kong插件开发教程[通俗易懂]"

2.必须存在至少2个文件:

1.handler.lua

业务的主核心逻辑代码编写.

2.schema.lua

定义参数校验、参数格式限制参数的传递合法性,handler.lua可以从中获取到注入的插件参数.

3.修改/etc/kong/kong.conf配置文件,加载ip-access-forbidden插件

plugins = bundled,ip-access-forbidden

022最新Kong插件开发教程[通俗易懂]"
022最新Kong插件开发教程[通俗易懂]"

4.重启kong或者reload kong

kong restart kong prepare && Kong reload 5.访问加载插件是否正常

022最新Kong插件开发教程[通俗易懂]"
022最新Kong插件开发教程[通俗易懂]"

6.通过Konga界面配置插件

022最新Kong插件开发教程[通俗易懂]"
022最新Kong插件开发教程[通俗易懂]"

7.访问测试

022最新Kong插件开发教程[通俗易懂]"
022最新Kong插件开发教程[通俗易懂]"

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153166.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.前言
  • 二.原理分析
  • 三.基本步骤与演示
    • 1.插件功能简介
      • 2.操作与开发步骤
      相关产品与服务
      负载均衡
      负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档