apache单IP线程限制

当在网站中提供了HTTP方式的下载时,目前大多数客户端在下载时都采用多线程下载工具(如迅雷、超级旋风、网际快车等),这样会给Web服务器带来巨大的压力。解决这类问题也有很多种方式,其中一种就是在Apache中对单个IP的并发数及下载速度进行限制。

单个IP并发数限制可通过mod_limitipconn模块实现。mod_limitipconn是一个非官方的模块(mod_limitipconn官方网站:http://dominia.org/djao/limitipconn.html),使用该模块后当同一个IP的连接到达限制的时候,Apache对客户端的Get请求发送”HTTP/1.1 503 Service Temporarily Unavailable”(该模块并不能阻止DDOS或类似的攻击)。使用如下命令安装mod_limitipconn(RPM包下载地址http://dominia.org/djao/limit/mod_limitipconn-0.23-1.el5.i386.rpm)。

  1. rpm -ivh mod_limitipconn-0.23-1.el5.i386.rpm

在安装完成后,会在/etc/httpd/conf.d目录中建立一个名为limitipconn.conf的配置文件。在该文件中已将limitipconn.so模块装载

mod_limitipconn配置时使用Location指定要限制并发的目录,MaxConnPerIP指定单个IP最大并发的数量,NoIPLimit指定在Location所指定目录中不作限制的目录,OnlyIPLimit指定只限制特定类型的文件(根据MIME内容类型)。在下面的例子中将限制网站的根目录(但不包括css目录)及/media目录(只限制所有视频文件)的单个IP最大并发数量为5个(但根目录下mp3目录不限制)。

  1. <If Module mod_limitipconn.c>
  2.     <Location />
  3.         MaxConnPerIP 5
  4.         NoIPLimit css/*
  5.     </Location>
  6.     <Location /media>
  7.         MaxConnPerIP 5
  8.         OnlyIPLimit audio/mpeg video
  9.     </Location>
  10. </IfModule>

提示:MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等中。由RFC 822转变而来的RFC 2822规定电子邮件标准不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此一些非英语字符消息和二进制文件,图像,声音等非文字消息都不能在电子邮件中传输。MIME规定了用于表示各种各样的数据类型的符号化方法。此外在万维网中使用的HTTP协议中也使用了MIME的框架。

点赞