limitipconn为单ip并发限制,mod_bw为单ip带宽限制,这两个模块都不属于apache官方模块,均为第三方开发。
limitipconn2第三方官网下载地址:
http://dominia.org/djao/limit/win32/mod_limitipconn.httpd-2.2.11-WIN32.zip
mod_bw第三方官网下载地址(仅支持2.2版本,新版2.4好像不支持没测试):
http://ivn.cl/files/dlls/mod_bw-0.91-2.2.14/mod_bw.dll
据网上资料说mod_bw模块是根据每个客户端进行带宽限制,但实际测试效果并不是这样,测试效果是对全局或者某个虚拟主机整体产生了影响。
配置过程:
修改apache配置文件,开启 mod_status.so 和载入 mod_limitipconn.dll :
LoadModule status_module modules/mod_status.so ExtendedStatus On LoadModule limitipconn_module modules/mod_limitipconn.dll <IfModule mod_limitipconn.c> <Location /vkvod> MaxConnPerIP 3 </Location> </IfModule> #以上部分为对vkvod目录进行单ip线程连接限制,为实现效果设置为3,当超过线程连接数时,会报503错误。 LoadModule bw_module modules/mod_bw.dll BandWidthModule On ForceBandWidthModule On BandWidth all 100000 Alias /vkvod "\\\\192.168.0.157\\NAS\\Vod"
#以上部分为载入mod_bw.dll模块,整体限速为100kb。
以上配置可以放到httpd.conf中也可以放到虚拟主机配置文件中,针对全局或虚拟主机进行限制。
参数说明:
MaxConnPerIP 3 #限制的线程数
BandWidthModule On #是否开启限速
ForceBandWidthModule On #强制带宽限制
BandWidth all 100000 #最大带宽100kb
效果截图:
当超过最大连接数时,错误提示:
当开启3个下载过程(3台独立客户端下载)基本在40-60kb:
所以说mod_bw的带宽限速效果不太适合我当前环境,可以用于针对某个虚拟主机限速。防止下载量过大影响其他虚拟主机。
经过查阅apache2.4官方文档,已经自带了限速模块:http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/3345.html