Nginx中如何限制某个IP同一时间段的访问次数和并发数
发表于:2022-04-26 |
最近一个项目为了防止刷票,需要对nginx  设置能限制某个IP某一时间段的访问次数 具体修改如下:

 

nginx.conf 配置修改

在 http {

}

里面加上


limit_req_zone $binary_remote_addr zone=allips:10m rate=30r/s;
limit_req zone=allips burst=5 nodelay;
下面为注释
     #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,
    #以$binary_remote_addr 为key,限制平均每秒的请求为30个,
    #1M能存储16000个状态,rete的值必须为整数,
    #如果限制两秒钟一个请求,可以设置成30r/m

下面为注释
     #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,
    #以$binary_remote_addr 为key,限制平均每秒的请求为30个,
    #1M能存储16000个状态,rete的值必须为整数,
    #如果限制两秒钟一个请求,可以设置成30r/m
 

在需要限制并发数和下载带宽的网站配置文件中

server{

} 里加上如下代码

limit_conn one 5;   #并发连接数为5

limit_rate 100k; #限速为 100KB/秒


 

在server 上面加上如下代码

limit_conn_zone $binary_remote_addr zone=one:10m;
上一篇:
docker删除状态为Exited的容器
下一篇:
mysql修改最大连接数&wait_timeout时间