内容来自以下网站整理

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:

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

apache限制同一ip大并发访问及下载的更多相关文章

  1. 利用apache限制IP并发数和下载流量控制

    一,为什么要对IP并发数,下载流量进行控制 说正题之前,先给大家讲个故事,那是在2007年,我进了一家公司,当时我们正在给达芙妮做电子商务网,www.idaphne.com.从三月份开始做的吧,九月份 ...

  2. Python基础(三):简化除法判断、分析apache访问日志、扫描存活主机、利用多线程实现ssh并发访问

    一.简化除法判断 目标: 编写mydiv.py脚本,主要要求如下: 提示用户输入一个数字作为除数 如果用户按下Ctrl+C或Ctrl+D则退出程序 如果用户输入非数字字符,提示用户应该输入数字 如果用 ...

  3. apache禁止公网IP访问的配置

    由于最近在配置负载均衡环境 外网使用Nginx做代理,分发到Apache服务器上,所以不希望Apache配置的服务被外网访问,只希望内网Nginx访问,所以只能使用局域网IP访问 配置方法: 打开Ap ...

  4. 查看apache当前并发访问数和进程数

    1.查看apache当前并发访问数: netstat -an | grep ESTABLISHED | wc -l 对比httpd.conf中MaxClients的数字差距多少. 2.查看有多少个进程 ...

  5. apache禁止使用IP访问的实现方法

    apache禁止访问目录列表 apache禁止访问目录列表对于开发人员来说还是蛮实用的,可以迅速查找根目录下的所有项目,但如果一个挂在互联网上的服务器为了提高安全性就必须禁止访问目录列表. 找到Apa ...

  6. Centos7.6 Apache 虚拟机禁止访问IP,允许访问多域名多个虚拟目录设置

    存放配置文件路径 /etc/httpd/conf.d自定义命名,配置文件后缀格式确保 *.conf注:这是两个配置文件,也是两种方法. # 一个WEB目录# 禁止以IP地址形式访问<Virtua ...

  7. APACHE 禁止通过IP直接访问

    若是开通了虚拟主机,则需要在httpd-vhosts.conf中修改配置如下:若没有开通虚拟主机,则可以直接在httpd.conf文件最后面,加入以下代码: NameVirtualHost XXX.X ...

  8. php 处理 大并发

    小谈php处理 大并发 大流量 大存储 一.判断大型网站的标准: 1.pv(page views)网页的浏览量: 概念:一个网站所有的页面,在24小时内被访问的总的次数.千万级别,百万级别 2. uv ...

  9. nginx前端负载,后端apache获取真实IP设置

    原文链接: nginx前端负载,后端apache获取真实IP设置 参考文献: 前端Nginx,后端Apache获取用户真实IP地址  按照第二种方法设置不成功! 网站最前端是nginx,做的PROXY ...

随机推荐

  1. Windows 服务关闭自动重启

    此方法可以用来监控Windows Service是否运行良好 1.创建批处理程序,判断服务是否启动,若未启动则启动之 @echo off Rem Look for the Print Spooler ...

  2. SQL Server 2014 SP2发布下载:数十项更新修复

    微软发布了数据库工具SQL Server 2014 SP2服务包下载,本次更新集合了数十项更新修复,涉及安全和功能性补丁,使用SQL Server 2014的用户应该及时安装该服务包. 文件内容 版本 ...

  3. jQuery MiniUI开发系列之:数据验证

    在开发应用系统界面时,往往需要进行很多.复杂的数据验证,当填写的数据符合规定,才能提交保存. jQuery MiniUI提供了比较完美的表单数据验证和错误显示的方式. 常见的表单控件,都有一个验证事件 ...

  4. [转]云计算研究必备——精典Google论文

    Google云计算技术奠定其在业界的领先地位,收集经典云计算技术公开文章供大家研究学习: 01)GFS-The Google File System 02) Bigtable - A Distribu ...

  5. [转载]tlb、tlh和tli文件的关系

    tlb.tlh和tli文件的关系 tlb文件:com类型库文件.在需要使用对应com类的模块里,“#import ...*.tlb”使用之. tlh.tli文件:他们是vc++编译器解析tlb文件生成 ...

  6. 慕课网-Java入门第一季-7-2 Java 中无参无返回值方法的使用

    来源:http://www.imooc.com/code/1578 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名 ...

  7. vi 使用入门

    几种模式:     Normal Mode 命令模式     Insert Mode 编辑模式     Command-line Mode      Visual Mode      Select M ...

  8. android platform下载地址

    大陆直接访问Android的光放网站一般情况下比较困难,特此列出了Android各个SDK版本的直接下载地址. ADT 23.0.4:https://dl.google.com/android/ADT ...

  9. SQL Server Reporting Services (SSRS): Reporting Services in SQL Server 2012 (codename "Denali") will support XLSX, DOCX formats. Bye bye 65536 rows limit in XLS files ;)

    当SSRS报表的时候,若相应EXCEL是2003以下,在行数超过65536的时候报表会报错 "Microsoft.ReportingServices.ReportProcessing.Han ...

  10. Could not parse mapping document from input stream hibernate配置异常

    十二月 , :: 下午 org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context ...