Nginx限制访问次数和并发数

本文介绍了如何使用Nginx的limit_conn和limit_req模块来限制客户端的访问速率及最大并发连接数,以有效防止DDoS攻击。文章详细展示了通过配置$binary_remote_addr和$server_name来针对不同场景进行限制的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx限制访问速率和最大并发连接数模块--limit (防止DDOS攻击)

http:
##zone=one或allips 表示设置名为"one""allips"的存储区,大小为10兆字节
##rate=2r/s 允许1秒钟不超过2个请求
limit_conn_log_level error;
limit_conn_status 503; 
limit_conn_zone $binary_remote_addr zone=one:10m;
limit_conn_zone $server_name zone=perserver:10m;
limit_req_zone $binary_remote_addr zone=allips:100m rate=2r/s;  

server:
##burst=5 表示最大延迟请求数量不大于5。如果过多的请求被限制延迟是不需要的,这时需要使用nodelay参数,服务器会立刻返回503状态码。
limit_conn  one  100;   ##表示最大并发连接数100                                          
limit_conn perserver 1000; 
limit_req   zone=allips  burst=5  nodelay; 

参数解释:
$binary_remote_addr限制同一客户端ip地址;
$server_name限制同一server最大并发数;
limit_conn为限制并发连接数;
limit_rate为限制下载速度;

 

转载于:https://www.cnblogs.com/linjiqin/p/7411624.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值