浏览文章
文章信息
使用 mod_security 在服务器上设置 IP 限制。
首先在服务器上检查 apache 版本。
httpd -v转到下面的路径
cd /usr/local/src/使用以下链接下载 mod_limitpconn。我有 apache 版本 2.4.6。根据您的 apache 版本下载文件。
wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 --no-check-certificate解压文件
tar -xvf mod_limitipconn-0.24.tar.bz2去那个文件夹
cd mod_limitipconn-0.24用apache apxs编译
whereis apxs我的apxs位置是/usr/bin/apxs
/usr/bin/apxs -c -i mod_limitipconn.cSee any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 644 /usr/lib/apache2/modules/mod_limitipconn.so
记住:/usr/lib/apache2/modules/mod_limitipconn.so 后面需要用到
~~~
如果apxs找不到
解决:
Ubuntu:
apt-get isntall apache2-dev
CentOS:
yum install httpd-devel
~~~
检查apache语法,如果ok就重启apache服务
httpd -t /etc/init.d/httpd restart在 httpd.conf 中添加以下几行
vi /usr/local/apache/conf/httpd.conf
配置httpd.conf:
#***************配置IP连接数流量限制************** # 这个命令总是需要 ExtendedStatus On # 仅当模块编译为 DSO LoadModule limitipconn_module /usr/lib/apache2/modules/mod_limitipconn.so <IfModule mod_limitipconn.c> # 设置服务器范围内每个 IP 50 个并发连接的限制, MaxConnPerIP 50 # -------------动态请求------------- <Location /> # 此部分影响 http://your.server/* 下的所有文件 MaxConnPerIP 3 # 从连接限制中免除图像被限制 # 如果您的网页有很多内嵌图像,就会产生图片的并发请求,所以需要取消图片请求并发限制 NoIPLimit image/* # 某些静态图片是文本类型的,也不限制 NoIPLimit text/* </Location> <Location /pub> # 此部分影响/pub下的所有请求 MaxConnPerIP 1 # 在这种情况下,除audio/mpeg和video*之外的所有MIME类型都免于限制检查 OnlyIPLimit audio/mpeg video </Location> # -------------静态文件------------- <Directory /www/wwwroot/*/pub> # 此部分影响/home/*/pub下的所有文件 MaxConnPerIP 1 # 在这种情况下,除audio/mpeg和video*之外的所有MIME类型都免于限制检查 OnlyIPLimit audio/mpeg video </Directory> </IfModule>如果一切正常,请检查语法,然后重新启动 apache。
httpd -t /etc/init.d/httpd restart /etc/init.d/httpd status确认域在服务器上工作。您可以从以下文件中选择域并尝试随机访问它。
cat /etc/userdomains.conf
笔记:
除非加载了 mod_status 并设置了“ExtendedStatus On”指令,否则此模块将无法运行。
确保使用 easyapache 在服务器上安装了 mod security。