ngx_dynamic_limit_req_module
180 次浏览
更新于 2020-12-29 19:15

授权协议:GNU Library or "Lesser" General Public License
原作者联系方式:叫我甘道夫 http://sshfortress.com/
功能说明:ngx_dynamic_limit_req_module 用于动态锁定 ip 和释放、动态限流,对于防止恶意刷接口效果理想。
  • 内容介绍

配置模板:

worker_processes  2;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
    dynamic_limit_req_zone $binary_remote_addr zone=one:10m rate=100r/s redis=127.0.0.1 block_second=300;
    dynamic_limit_req_zone $binary_remote_addr zone=tw10m rate=50r/s redis=127.0.0.1 block_second=600;
    
    
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
            dynamic_limit_req zone=one burst=80 nodelay;
            dynamic_limit_req_status 403;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       80;
        server_name  localhost2;
        location / {
            root   html;
            index  index.html index.htm;
            dynamic_limit_req zone=two burst=50 nodelay;
            dynamic_limit_req_status 403;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

支持黑白名单

白名单规则

redis-cli set whiteip ip

黑名单规则

redis-cli set ip ip

发表评论
提交者

皮皮鲁

暂无个人介绍

  • 27

    文章

  • 19

    关注

  • 22

    粉丝

版权所有©F5 Networks,Inc.保留所有权利。京ICP备16013763号-5