1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mahaixing-lua-limit

Клонировать/Скачать
limit_conf.lua.sample 2.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
mahaixing Отправлено 19.09.2019 04:48 d027283
--[[
通用限流脚本配置文件
Author: mahaixing@gmail.com
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

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mahaixing-lua-limit.git
git@api.gitlife.ru:oschina-mirror/mahaixing-lua-limit.git
oschina-mirror
mahaixing-lua-limit
mahaixing-lua-limit
master