zoukankan      html  css  js  c++  java
  • nginx根据IP限制访问

    nginx有两个模块可以控制访问

    HttpLimitZoneModule    限制同时并发访问的数量

    HttpLimitReqModule     限制访问数据,每秒内最多几个请求

    http{

     ##白名单,在此的ip将不会限速,0值为不限制
         geo $whitelist  {
             default 1;
             127.0.0.1 0;
             192.168.0.1/32 0;
         }

     map $whitelist $clientRealIp {
            1     $binary_remote_addr;

             0    '';;#ip为0时设置为空值,limit_conn_zone和limit_req_zone指令对于键为空值的将会被忽略,从而实现对于列出来的IP不做限制
               }
          

        ## 每秒并发连接限制
        limit_conn_zone $clientRealIp zone=TotalConnLimitZone:10m ; ##1M大概可以保存16000IP
        limit_conn  TotalConnLimitZone  10;##每个IP最多有10个并发连接
        limit_conn_log_level notice;
        ## 每秒请求数限制
        limit_req_zone $clientRealIp zone=ConnLimitZone:10m  rate=10r/s;
        limit_req_log_level notice;

    }

    server{

      listen       80;

      location ~ .*.(php|php5)?$
           {
              limit_req   zone=ConnLimitZone  burst=5 nodelay; #每秒处理 10 个请求 + 5个排队,超过直接返回503
              fastcgi_pass  127.0.0.1:9000;
              fastcgi_index index.php;
              include fastcgi.conf;
              fastcgi_connect_timeout 300s;
              fastcgi_read_timeout 300s;
           }

    }

  • 相关阅读:
    td-agent 收集日志到kafka的配置
    ctrl+z 以后怎么恢复挂起的进程
    LCD显示GPS时钟[嵌入式系统]
    树莓派轮盘游戏机[嵌入式系统]
    集成测试工具
    未上线的界面
    前端网页内复杂编辑
    用jquery编写的分页插件
    用jquery编写的tab插件
    EAA脚本语言0.2
  • 原文地址:https://www.cnblogs.com/latma/p/6018639.html
Copyright © 2011-2022 走看看