Kong插件之IP Restriction

一、什么是黑白名单

  1. 白名单就是值得信任允许访问或者允许通过验证的名单。
  2. 黑名单就是不值得信任限制访问或者不允许通过验证的名单。

二、IP Restriction介绍

  1. IP Restrictiong是kong的IP黑白名单插件,可以针对服务、路由、消费者配置黑白名单。
  2. 配置参数解读:
    service_id:配置在服务上
    route_id:配置在路由上
    consumer_id:配置在消费者上
    config.whitelist:配置白名单
    config.blacklistr:配置黑名单

示例

  1. 给服务phoenix-apocalypse和消费者quanzhengzheng增加黑白名单插件
    curl -X POST http://localhost:8001/services/431f3d59-5e34-429b-b5ff-2c66bf75aee8/plugins \
    –data “name=ip-restriction” \
    –data “consumer_id=fbf3b658-3c9f-4ea0-958c-84b3db435d02” \
    –data “config.whitelist=127.0.0.1”
  2. 请求接口/api/v1/apply/rate
    curl -i -X POST \
    –url http://10.140.129.120:8000/api/v1/apply/rate \
    –Header ‘Authorization:67EDA32A0E1FB4BA5BA991EFBCA601AE’
    提示报错“Your IP address is not allowed”
  3. 修改配置增加此ip段
    curl -X PATCH http://localhost:8001/plugins/4c58b6f0-e1ed-41a7-af3e-707a8a9af793
    –data “config.whitelist=127.0.0.1,112.74.0.0/16”
  4. 再次请求成功

三、黑白名单的配置规则

  1. 黑名单、白名单只能选择其一,不能同时存在。
  2. 可以设置具体的IP 如:192.168.1.1 或192.168.1.1/32
  3. 可以设置某一个IP段如下
    • 192.168.1.0/24 表示192.168.1.0~192.168.1.255
    • 192.168.0.0/16 表示192.168.0.0~192.168.255.255
    • 192.0.0.0/8       表示192.0.0.0~192.255.255.255
    • 0.0.0.0/0           表示所有合法的IP

四、源码解读

源码路径 /app/kong/luajit/share/lua/5.1/kong/plugins/ip-restriction
├── handler.lua
└── schema.lua

handler:插件的入口类,用于实现插件逻辑。
schema :插件的配置类,定义可配置的参数及有效参数范围等。

五、流程图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流落的鱼儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值