zoukankan      html  css  js  c++  java
  • apache限制同一ip大并发访问及下载

    内容来自以下网站整理

    http://www.jb51.net/article/58060.htm
    http://www.2cto.com/os/201202/120665.html
    http://blog.csdn.net/lipei1220/article/details/39293851

    测试时请用浏览器下载来测试,不用bt之类下载

    如果只限制连接数据我们可以直接使用limit,如果要限制其它的需要使用其它第三方模块了

    使用mod_limitipconn模块限制IP并发连接数

    安装:

    wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 #有可能有新版本
    tar jxvf mod_limitipconn-0.24.tar.bz2
    cd mod_limitipconn-0.24
    /usr/local/apache2/bin/apxs -c -i mod_limitipconn.c #指定apxs的正确路径

    编辑httpd.conf

    ExtendedStatus On
    LoadModule limitipconn_module modules/mod_limitipconn.so
      
    <ifModule mod_limitipconn.c>
    <location />                       #对应根目录
       MaxConnPerIP 5                 #最大并发数为5
       NoIPLimit image/*                #对图片不做限制
    </location>
    <location /test>                    #对根目录下的test目录做限制
       MaxConnPerIP 2                  #最大并发数为2
    </location>
    </ifModule>

    如果想限制虚拟主机的ip并发连接数,可以修改extra/httpd-vhost.conf,

    把 IfModule mod_limitipconn.c 这一段复制到Virtualhost中就可以了。

    使用mod_bandwidth模块限制带宽

    mod_bandwidth可以对IP的并发数进行控制,也可以对下载流量进行控制,也可以对某个目录的流量进行控制。

    下载及安装:

    wget http://ivn.cl/files/source/mod_bw-0.92.tgz
    tar zxvf mod_bw-0.92.tgz
    /usr/local/apache2/bin/apxs -c -i -a mod_bw.c

    apache2.4.x报错:

    /mnt/vdd/mod_bw.c: In function 'get_bw_rate':
    /mnt/vdd/mod_bw.c:567:59: error: 'conn_rec' has no member named 'remote_addr'
    if (apr_ipsubnet_test(e[i].x.ip, r->connection->remote_addr)) {

    这个错误是由于apache2.2 到2.4 api有所改变,详细如下:

    http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html

    解决办法:

    vim mod_bw.c

    把所有的remote_ip和remote_addr分别替换成client_ip和client_addr

    重新执行 /usr/local/apache2/bin/apxs -i -c -a mod_bw.c

    编辑httpd.conf配置文件

    复制代码
    LoadModule bw_module modules/mod_bw.so
      
    <virtualHost *:80>
        ServerName xxxxx
        DocumentRoot  /xxxx
        BandwidthModule On
        ForceBandWidthModule On
        Bandwidth all 20000 # 20 KB
    </virtualHost>
     
    复制代码

    其它参数事例说明,详细的见源码包里的mod_bw.txt:

    当测试时,用浏览器的下载器,不要用迅雷之类的来测试

  • 相关阅读:
    CSS3 动画--- CSS3 animation
    CSS3 3D变形 transform---rotateX(), rotateY(), rotateZ(), 透视(perspective)
    CSS3 2D变形 transform---移动 translate(x, y), 缩放 scale(x, y), 旋转 rotate(deg), transform-origin, 倾斜 skew(deg, deg)
    CSS3 过渡---transition
    情人节用Python智能聊天机器人的实现|制作一个虚拟恋人
    Python基础知识详解 从入门到精通(七)类与对象
    Python核心编程:8个实践性建议
    给Python初学者的一些编程技巧
    30分钟编写一个抓取 Unsplash 图片的 Python爬虫
    Python反编译调用有道翻译(附完整代码)
  • 原文地址:https://www.cnblogs.com/chenjian/p/5756308.html
Copyright © 2011-2022 走看看