Nginx 限制单IP或Server访问频率,下载速率和并发连接数的方法

340 阅读1分钟

Nginx 如何限制访问频率,下载速率和并发连接数的方法

www.jb51.net/article/168…

nginx配置限制同一个ip的访问频率

www.landui.com/docs-3665

nginx单个ip访问频率限制

juejin.cn/post/684490…

WordPress 使用 Nginx 限制每个 IP 地址访问 URL 的频率

www.cccitu.com/5065.html

Nginx-配置-限制IP访问的各种情况全解析

wetts.github.io/2017/01/14/…

    # server{} 或 location{}
    # limit_conn 限制并发连接数
    limit_conn perserver 300;
    limit_conn perip 1;
    # 限制请求频率
    # 在此例子中我们将限制频率为 1 分钟 1 次(rate=1r/s),如果瞬间并发了 10 次请求,这 3 种写法的效果分别如下 :
    # 1.  #立即处理第 1 个请求,其余 9 个直接返回 503 错误
    # limit_req zone=iprate;

    #立即处理第 1 个请求,第 2-6 个请求缓存后排队 1 分钟处理 1 个,第 7-10 个请求返回 503 错误
    # limit_req zone=iprate burst=5;

    #立即处理第 1-5 个请求,第 7-10 请求返回 503 错误
    # limit_req zone=iprate burst=5 nodelay;
    
    limit_req zone=iprate;
    # 限制下载速度
    limit_rate 512k;
    
    # nginx.conf
    # $binary_remote_addr是限制同一客户端ip地址;
    limit_conn_zone $binary_remote_addr zone=perip:10m;
    # $server_name是限制同一server最大并发数;
    limit_conn_zone $server_name zone=perserver:10m;

    #limit_req_zone:请求频率
    #$binary_remote_addr:以客户端IP进行限制
    #zone=one:10m:创建IP存储区大小为10M,用来存储访问频率
    #rate=10r/s:表示客户端的访问评率为每秒10次
    limit_req_zone $binary_remote_addr zone=iprate:10m rate=2r/m;