Nginx限制访问次数和并发数

假如想象 提交于 2019-11-28 22:15:28

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!