• Nginx详解八:Nginx基础篇之Nginx请求限制的配置语法与原理


    Nginx的请求限制:

    连接频率的限制:limit_conn_module

    配置语法:limit_conn_zone key zone=name:size;
    默认状态:-
    配置方法:http

    配置语法:limit_conn zone number;
    默认状态:-
    配置方法:http、server、location

    请求频率限制:limit_req_module

    配置语法:limit_req_zone key zone=name:size rate=rate;
    默认状态:-
    配置方法:http

    配置语法:limit_req_zone=name [burst=number] [nodelay] ;
    默认状态:-
    配置方法:http、server、location

     同一个ip,限制为每秒钟只能访问一次,
    limit_req_zone $binary_remote_addr zone=req_zone:1m rate=1r/s
    zone=req_zone:1m:定义一个空间,名字为zone,大小为1兆
    remtoe_addr:客户端的ip

     

    执行配置语法检查,并重启nginx

    nginx -tc /etc/nginx/nginx.conf
    nginx -s reload -c /etc/nginx/nginx.conf

     

    这里用到ab这个工具进行并发测试

     ab -n 50 -c 20 http://192.168.1.141/1.html

    -n:总共发起的请求数,这里设置为50

    -c:同事并发的请求,这里设置为20个

    请求之前配置好的测试页面

     

    每秒624个请求

    再继续配置,遇到什么场景就对应配置就行了,这里去掉注释生效

    limit_conn conn_zone 1; 限制服务端同一时刻只允许一个ip连接
    limit_req zone=req_zone burst=3 nodelay; 客户端超过上面设置的速率过后,遗留3个到下一秒执行,剩下的返回503
    limit_req zone=req_zone burst=3;
    limit_req zone=req_zone; 开启过后同一个ip在每秒钟只能请求成功一个,剩下的可以在error.log里面看到相应的错误日志

  • 相关阅读:
    ghost版本xp安装iis的问题
    装vs2005 sp1出现数字签名错误的解决办法
    FLEX对整个截屏或单个UI进行截图
    在Apache环境下成功的运行ASP.NET
    向园子的高手们求救 关于45斜视地图的寻路
    第一次在博客里面写东西
    在 Linux 下运行 ASP.NET 2.0
    sql left join inner jion 区别
    C# 图片识别(支持21种语言)
    5、Java并发编程:Lock
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/10486937.html
Copyright © 2020-2023  润新知