1 个回答
分布式限流(Redis集群):
limit_req_zone $binary_remote_addr zone=global_limit:10m rate=100r/s;
limit_req zone=global_limit burst=200 delay=10;
动态规则API:location /api/limit_rules {
# 接受JSON格式规则更新
proxy_pass http://rule_engine;
# 实时加载新规则
nginx -s reload && lua_shared_dict limit_rules 10m;
}
Lua动态过滤:access_by_lua_block {
local rules = ngx.shared.limit_rules
local ip = ngx.var.remote_addr
if rules:get(ip) == "block" then
ngx.exit(444)
end
}
发布于:5天前 IP属地:四川省
我来回答
您需要 登录 后回答此问题!