redis-ip-dynamic
A Lua library for resty to put remote ip into redis dynamicly
$ opm get qixiaobo/redis-ip-dynamic
实例
local redis_ip_dynamic = require "resty.redis-ip-dynamic"
local ip_dynamic_banner = redis_ip_dynamic:new({ host = "192.168.12.203" })
配置
host redis使用的ip 暂未支持域名 默认127.0.0.1
port redis使用的port 默认6379
password redis的密码默认为空
db_index redis的数据库 默认为0
timeout 表示连接池中持有时间默认为60s
pool_size 连接池大小默认为100
prefix 表示limit的业务键前缀 默认为limit: 建议按照业务定义 比如data:
expire_time_in_second 表示过期时间 默认为1小时 表示统计ip的间隔
black_list_threshold 表示expire_time_in_second 出现的次数即为黑名单触发 需要放入到黑名单列表中 默认为500
expire_black_ip_in_second 表示黑名单默认封禁时间 默认为24h
原理
判断是否白名单 如果是则放行
如果不是白名单校验是否黑名单 如果是黑名单则返回true
以小时级别进行ip的调用次数累加 当达到阈值后 将该ip放入黑名单 并设置过期时间
以天级别进行调用次数统计 当达到阈值后 执行降级 =back
POD ERRORS
Hey! The above document had some coding errors, which are explained below:
- Around line 66:
-
=over without closing =back
Authors
QiXiaobo(qixiaobo.nj@gmail.com)
License
2bsd
Dependencies
Versions
-
A Lua library for resty to put remote ip into redis dynamicly 2018-08-06 03:03:13
-
A Lua library for resty to put remote ip into redis dynamicly 2018-08-01 02:08:12
-
2018-07-25 04:58:36