Nginx限制访问次数和并发数

  • 来源:网络
  • 更新日期:2020-07-13

摘要:系统运维 Nginx限制访问速率和最大并发连接数模块--limit (防止DDOS)http:##zone=one或allips 表示设置名为"one"或"allips"的存储区,大小

系统运维

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

新网虚拟主机