nginx根据token做频率限制

在 nginx.conf 文件添加配置

limit_conn_log_level error;
    limit_conn_status 503;
    limit_conn_zone $cookie_gray_DF_TOKEN zone=one:10m;
    limit_conn_zone $server_name zone=perserver:10m;
    limit_req_zone $cookie_gray_DF_TOKEN zone=req_one:10m   rate=300r/s;
给域名的server 添加配置  

     #  if ($cookie_gray_DF_TOKEN = '')
       #      {
        #        return 403;
         #  }

        limit_req   zone=req_one  burst=20  nodelay;


开启403配置, 可以检测是否token为空 ,若token为空, 匹配到返回403
客户端测试访问 

for i in {0..20}; do (curl -b "gray_DF_TOKEN"-Is http://weifeng.cn/ | head -n1 &) 2>/dev/null; done

猜你喜欢

转载自www.cnblogs.com/weifeng1463/p/9651225.html