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

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

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

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

        1.handler.lua  

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

        2.schema.lua

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

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

plugins = bundled,ip-access-forbidden

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

4.重启kong或者reload kong

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

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

6.通过Konga界面配置插件

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

7.访问测试

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RSA 加密算法原理简述

    RSA 加密算法原理简述概述本文旨在说明RSA加密算法的原理及实现,而其相关的数学部分的证明则不是本文内容。版权说明著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:Q-WHai发表日期:2016年2月29日本文链接:http://blog.csdn.net/lemon_tree12138/article/details/50696926来源:CSDN…

    2022年6月12日
    23
  • 自学Java开发一般需要多久?

    自学Java开发一般需要多久?自学Java开发一般需要多久?相信有很多想转行或者想学习Java的人都会关注这个问题!那我们今天就来说一下这个问题,具体需要多久呢?这个时间因人而异,毕竟每个人的学习能力和效率都是不同的!打个比方,如果你是零基础,每天学习8小时,基本上每天都按时学习的话,大概需要半年多的时间,就能学的差不多了!如果你本身就会C或C++语言,那么Java对你来说也许会简单许多,学起来自然就快了!下面就给大家简单说一下学习方法,让你尽可能快的学会Java!学习路线:…

    2022年7月8日
    26
  • 用 Javascript 生成二维码

    用 Javascript 生成二维码用Javascript生成二维码#javascript#Webdev的#节点#设计大家好????,这将是一篇很短的文章,我将展示如何为JavaScript中的任何内容生成二维码。显然,我不会从头开始实现所有内容,当我们在JavaScript中有大量有用的库时,为什么要这样做。我遇到了这个很棒的轻量级库,或者你可以说一个简单的脚本qrcodejs。它非常易于使用并且也很可靠。执行 下载此zip文件:qrcodejs 提取它。 现在您可以…

    2022年10月18日
    0
  • 一张图说明–桥接模式与NAT模式的差别「建议收藏」

    一张图说明–桥接模式与NAT模式的差别「建议收藏」不废话,直接上一张简单清晰的对比图桥接模式里虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络。如上图所示的局域网中添加了一台新的、独立的计算机一样。宿主机与vm虚拟机是平级关系。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问…

    2022年6月16日
    36
  • pycharm远程调试「建议收藏」

    pycharm远程调试「建议收藏」我的博客链接Remote篇——PyCharm远程运行、调试环境配置一般在本地无法调试远程端代码,机械性的scp传输文件十分影响工作效率,PyCharm的Pro支持远程Run,Debug,等可视化的功能。操作系统:本地MacOS,远程Linux(本地3个操作系统都是支持的,远程Linux比较稳定)IDE:最新版本PyCharmPro(不支持社区版)python虚拟环境:Anaconda,pip远程创建新项目首先在远程服务器上新建一个项目文件$mkdirYOUR-PROJEC

    2022年8月25日
    6
  • hostapd学习「建议收藏」

    hostapd学习「建议收藏」hostapd简介工作模式 作用Master(AP) 成为无线接入点提供无线接入服务Managed(STA) 作为客户端连接其他无线接入点Monitor 监听附近所有无线流量Ad-hoc 多台计算机直接相连WiFi的几种模式hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(SoftAP)。hostapd的功能就是作

    2022年5月11日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号