zoukankan      html  css  js  c++  java
  • nginx限制ip并发数

    以下为配置过程:

    http层:

    server层:

    limit_conn addr 2; 表示限制并发数量最高为2,这个数字可以根据自己实际情况设置

    测试:

    写一个测试用的a.jsp

    在另外一台服务器用ab命令测试并发效果

    # ab -c 5 -t 10 http://192.2.4.31/a.php

    这里指定并发数为5,大于上面配置的最高限制

    回到nginx 服务器查看访问日志

    tail -f access.log

    可以看到很多请求的返回状态为503,

    增加limit_conn addr 的值为10, 再次用ab测试, 会看到返回状态都为200了, 说明配置有效

    配置说明:

    其中有两个关键指令的定义

    (1) limit_conn_zone 

    limit_conn_zone $binary_remote_addr zone=addr:10m;

    limit_conn_zone 指令用来定义回话状态存储区域

    $binary_remote_addr  表示以客户端的ip作为键

    zone= addr:10m 表示分配一个名为'addr' 的区域,空间大小10m

    相当于这个区域记录了ip的会话状态信息

    (2)limit_conn

    limit_conn指令用来限制并发连接数

    limit_conn addr 2;表示到名为'addr' 这个区域中检索ip键,不允许有超过2个的回话状态,超过的话会有返回503,

    通过这两项的配置, 就可以实现ip并发限制

  • 相关阅读:
    Java集合类初始容量、加载因子、扩容增量
    并发之原子性、可见性、有序性
    多线程面试题
    MySQL引擎及选择
    SHA和MD5的Salt
    基于SSM的单点登陆05
    基于SSM的单点登陆04
    基于SSM的单点登陆03
    基于SSM的单点登陆02
    基于SSM的单点登陆01
  • 原文地址:https://www.cnblogs.com/apnsa/p/5206579.html
Copyright © 2011-2022 走看看