美文网首页
nginx-iplimit

nginx-iplimit

作者: 疏影浅清 | 来源:发表于2018-10-26 15:39 被阅读0次

    vim  nginx.conf:


    HTTP模块(无cdn节点)


    #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,

    #以$binary_remote_addr 为key,限制平均每秒的请求为20个,

    #1M能存储16000个状态,rete的值必须为整数,

    #如果限制两秒钟一个请求,可以设置成30r/m

    #limit_req_zone $binary_remote_addr zone=allips:100m rate=50000r/s;


    HTTP模块(CDN节点)


    ## 针对原始用户 IP 地址做限制

    limit_conn_zone $clientRealIp zone=TotalConnLimitZone:20m ;

    limit_conn  TotalConnLimitZone  50;

    limit_conn_log_level notice;

    ## 针对原始用户 IP 地址做限制

    limit_req_zone $clientRealIp zone=ConnLimitZone:20m  rate=250r/s;

    #limit_req zone=ConnLimitZone burst=10 nodelay; #如果开启此条规则,burst=10的限制将会在nginx全局生效

    limit_req_log_level notice;


    server模块


    #限制每ip每秒不超过20个请求,漏桶数burst为5

    #brust的意思就是,如果第1秒、2,3,4秒请求为19个,

    #第5秒的请求为25个是被允许的。

    #但是如果你第1秒就25个请求,第2秒超过20的请求返回503错误。

    #nodelay,如果不设置该选项,严格使用平均速率限制请求数,

    #第1秒25个请求时,5个请求放到第2秒执行,

    #设置nodelay,25个请求将在第1秒执行。

    #limit_req zone=allips burst=20 nodelay;#allips HTTP模块定义后饮用的

    相关文章

      网友评论

          本文标题:nginx-iplimit

          本文链接:https://www.haomeiwen.com/subject/zaictqtx.html