【介绍】
mod_limitipconn可以帮助Apache服务器做对同一IP地址的并发连接数限制。
官网:http://dominia.org/djao/limitipconn2
下载:http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2
参考:http://dominia.org/djao/limitipconn2-README
参考:http://johnsteven.blog.51cto.com/2523007/818209
参考:https://blog.csdn.net/lgq421033770/article/details/44673237
参考:https://blog.csdn.net/boysee/article/details/653499
参考:https://blog.csdn.net/daizikai77/article/details/71191547
【安装】
wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 && tar -jxf mod_limitipconn-0.24.tar.bz2 && cd mod_limitipconn-0.24 /usr/local/apache2/bin/apxs -c -i mod_limitipconn.c
【配置】
编辑httpd.conf文件:
ExtendedStatus On LoadModule limitipconn_module modules/mod_limitipconn.so # 将路径修改为安装后的路径,保存时去掉以下代码的注释。 <IfModule mod_limitipconn.c> MaxConnPerIP 10 # 全局限制最多并发数为10 <Location /home> # 对应home目录 MaxConnPerIP 3 # 本目录最多并发数为10 NoIPLimit image/* # 对图片不做限制 </Location> <Directory /home/*/public_html> # 对应 /home/*/public_html MaxConnPerIP 1 # In this case, all MIME types other than audio/mpeg and video* # are exempt from the limit check OnlyIPLimit audio/mpeg video # 只对除audio/mpeg和video*之外的MIME文件类型不被限制。 </Directory> </IfModule>
如果想限制虚拟主机的ip并发连接数,可以修改 extra/httpd-vhost.conf 把 IfModule mod_limitipconn.c 这一段复制到 Virtualhost 中就可以了。
然后重启Apache服务器。
【测试】
超过连接数后,返回503错误,可以自定义一个503页面,来友好显示原因。
定义503页面,需要在httpd.conf配置中写入:
ErrorDocument 503 /errhtml/503.html
在网站根目录,errhtml目录中放入503页面即可。
测试很简单,把最大连接数调小一点,随便一个浏览器访问页面,然后按着F5,让页面不断刷新,一下就可以弹出503错误。