1 Star 0 Fork 50

aven/lua-limit

forked from haixing/lua-limit 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
limit_conf.lua.sample 2.29 KB
一键复制 编辑 原始数据 按行查看 历史
haixing 提交于 2019-09-19 09:48 . fix word
--[[
通用限流脚本配置文件
Version: 0.0.1
License: MIT
]]
local conf = {
redis = {
host = "127.0.0.1",
port = "11211",
auth = "auth",
timeout = 500
},
--[[
默认规则
配置链,限流脚本使用链式方式对地址进行限流,链中任何限流方法返回 true 则该请求被限流,
所有方法都返回 false 那么这个请求可以通过。
]]
default_rule = {
--[[
时间范围限流配置,符合时间范围的则进入配置连
如果不配置 date_range 则所有时间段都会限流
如果配置 week_day ,那么在 start_date 和 end_date 之间的所有星期 x 都会限流
week_day 可以是数字或者是table,如果是table则代表一个星期范围
]]
date_range = {
start_datetime = {year=2018, month=03, day=30, hour=0, min=0, sec=0},
end_datetime = {year=2018, month=04, day=30, hour=0, min=0, sec=0},
week_day = {3,4,5}
--week_day = 3
},
-- 黑名单限流配置
black_list = {},
-- 令牌桶限流配置
bucket = {
-- 共享 dict 名,字符串,需要与 nginx 配置文件中一致
bucket_dict_name = "limit_srvs",
-- 限制请求速率,数字,比如 200 表示 200个请求每秒
bucket_rate = 200,
-- 允许的突发速率,数字,比如 100 表示 允许在 200 个请求每秒的基础上突发 100 个请求每秒的量
bucket_burst = 100,
-- 限制的目标,字符串,只能配置为:ip 或者 uri
--bucket_target = ”ip“
bucket_target = "uri"
},
-- cookie 限流配置
cookie = {
cookie_domain = "example.com",
cookie_path = "/",
cookie_key = "example_limit",
-- 符合这个值的 cookie 始终允许通过
cookie__value = "1",
},
probability = {
-- 百分比数,比如 80 即为 80% 请求会被限流
probability_rate = 80,
},
-- 直接拒掉
limiter = {}
},
other_rule = {
}
}
return conf
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Lua
1
https://gitee.com/xubingyue/lua-limit.git
[email protected]:xubingyue/lua-limit.git
xubingyue
lua-limit
lua-limit
master

搜索帮助