apache防止多线程下载的配置详解

发布时间:2021-01-18编辑:脚本学堂
本文介绍下,在apache中防止多线程下载的具体配置方法,有需要的朋友参考下。

apache 下防止多线程下载的问题,并不复杂。
本节介绍下相关的配置方法,供大家参考。

如果不想重新编译 httpd,就用 DSO 模式安装非官方mod_limitipconn:
 

复制代码 代码示例:
wget http://dominia.org/djao/limit/mod_limitipconn-0.23.tar.bz2
tar xjvf mod_limitipconn-0.23.tar.bz2
cd mod_limitipconn-0.23
make
make install

此版本适合 Apache 2.2.X 的。

编辑 httpd.conf :
vim /usr/local/apache/conf/httpd.conf
找到 ExtendedStatus On 这行,如果前面有 # 号注解,就删除 #。

再搜索 mod_limitipconn.so 找到这行:
LoadModule limitipconn_module modules/mod_limitipconn.so
保留,把如下内容添加到它的下面:
 

复制代码 代码示例:
<IfModule mod_limitipconn.c>
<Location /Velvet_Kiss>
MaxConnPerIP 2
</Location>
</IfModule>

保存 httpd.conf 退出,重启Apache。

说明:
<Location /Velvet_Kiss>
Apache 只会限制 Velvet_Kiss 目录下同 IP 的链接数。
比如,如果还有一个目录叫 /download,那么用户只能开 2 个线程下载 /Velvet_Kiss 目录下的文件,却可以开多线程下载 /download 目录下的文件。linux 下 Apache 的目录结构通常是这样的,/home/user1/public_html/xxxx,设置限制多线程下载目录的时候,我们只需要 /xxxx 就可以了,不需要绝对路径。<Location />是对全站进行限制。

MaxConnPerIP 2
同 IP 下最多只能开启两个线程下载,其余的线程将遭遇“Service Temporarily Unavailable”。

Apache限制多线程下载的一些扩展命令:
 

NoIPLimit img/*
#表示对 img 文件夹不进行限制
OnlyIPLimit audio/mpeg video
#仅对声音/视屏等多媒体文件进行限制下载

整个配置还是很简单的,配置选项也很易懂,至此在apache下防止多线程下载的配置就完成了,这下可以节省不少内存与带宽了。