您的位置:首页 > 其它

【kong系列十】之IP黑白名单ip-restriction限制插件

2017-08-18 17:03 543 查看
IP限制插件

IP限制插件,是一个非常简单的插件,可以设置黑名单IP,白名单IP这个很简单。
规则:
IP黑白名单,支持单个,多个,范围分段IP(满足CIDR notation规则)。多个IP之间用逗号,分隔。
CIDR notation规范如下:
10.10.10.0/24   表示10.10.10.*的都不能访问。
关于CIDR notation的规则,不在本文讨论范围内,请自行查阅https://zh.wikipedia.org/wiki/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1 

1.设置黑名单IP
在这里,我将我自己的IP设置成黑名单.



访问结果如下:
{
    "message": "Your IP address is not allowed"
}

2.设置白名单
这里有个有趣的试验,假如我同时把自己的IP设置成白名单,又设置成黑名单。
那么,是黑名单会生效呢?还是白名单?
让我们动手试一试:



再次访问接口,正确返回结果了:
{
    "status": "UP",
    "diskSpace": {
        "status": "UP",
        "total": 19992150016,
        "free": 15094071296,
        "threshold": 10485760
    },
    "redis": {
        "status": "UP",
        "version": "3.2.5"
    },
    "db": {
        "status": "UP",
        "database": "MySQL",
        "hello": 1
    },
    "configServer": {
        "status": "UP",
        "propertySources": [
            "file:/opt/configServer/configs/application.yml#dev",
            "file:/opt/configServer/configs/application.yml"
        ]
    }
}

由此得出结论,假如consumer的ip,同时匹配黑白名单中的IP,那么白名单会优先生效。事实上,假如你同时设置黑白名单的IP不一致,系统会提示你you cannot set both a whitelist and a blacklist!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息