Nginx限流

2021-07-23 15:52
262
0

# IP地址白名单限制表,默认返回1 否则返回0

geo $limit {
        default                  1;
        222.210.138.71/24        0;
        172.28.90.138/24         0;
}

map $limit $limit_key {
        0 "";
        1 $binary_remote_addr;
}

# 分配10M空间,存10万个IP,每个IP限制为每秒5次请求

# 白明白内的IP不做此限制

limit_req_zone $limit_key zone=req_zone:10m rate=5r/s;

 

# 默认限制 就算是白名单IP也会被限制 最多请求频率为每秒10次

limit_req_zone $binary_remote_addr zone=req_zone_wl:10m rate=10r/s;

 

# 搜索请求走白名单检查 req_zone 这个limit_req_zone  burst 桶容量50 无延迟

limit_req zone=req_zone burst=50 nodelay;

#所有请求走req_zone_wl 这个limit_req_zone  burst 桶容量100 无延迟
limit_req zone=req_zone_wl burst=100 nodelay;

全部评论