Nginx限制访问次数和并发数

本文介绍如何通过Nginx的limit_conn和limit_req模块来限制访问速率和最大并发连接数,有效防止DDoS攻击。通过设置存储区大小、请求速率及并发连接数等参数,实现对同一客户端IP地址或同一server的最大并发数限制。

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为限制下载速度;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值