nginx与apache限制ip连接数和带宽方法

1,配置nginx.conf

代码如下
http{
.............
limit_zone one $binary_remote_addr 10m; //我记得默认配置就有,只不过是注释掉了,如果没有加一下
..............
server{
.................
location {
.........
limit_conn one 20; //连接数限制
limit_rate 500k; //带宽限制
........
}
.................
}
.............
}

[root@localhost nginx]# /etc/init.d/nginx reload //重新加载

2,测试限制ip连接数

代码如下
[root@localhost nginx]# webbench -c 100 -t 2 http://127.0.0.1/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://127.0.0.1/index.php
100 clients, running 2 sec.

Speed=429959 pages/min, 2758544 bytes/sec.
Requests: 14332 susceed, 0 failed.

[root@localhost nginx]# cat /var/log/nginx/access.log|grep 503 |more //这样的数据有很多,最好加个more或者less
127.0.0.1 - - [25/Apr/2012:17:52:21 +0800] "GET /index.php HTTP/1.0" 503 213 "-" "WebBench 1.5" -
127.0.0.1 - - [25/Apr/2012:17:52:21 +0800] "GET /index.php HTTP/1.0" 503 213 "-" "WebBench 1.5" -
127.0.0.1 - - [25/Apr/2012:17:52:21 +0800] "GET /index.php HTTP/1.0" 503 213 "-" "WebBench 1.5" -
127.0.0.1 - - [25/Apr/2012:17:52:21 +0800] "GET /index.php HTTP/1.0" 503 213 "-" "WebBench 1.5" -
127.0.0.1 - - [25/Apr/2012:17:52:21 +0800] "GET /index.php HTTP/1.0" 503 213 "-" "WebBench 1.5" -
127.0.0.1 - - [25/Apr/2012:17:52:21 +0800] "GET /index.php HTTP/1.0" 503 213 "-" "WebBench 1.5" -
127.0.0.1 - - [25/Apr/2012:17:52:21 +0800] "GET /index.php HTTP/1.0" 503 213 "-" "WebBench 1.5" -
127.0.0.1 - - [25/Apr/2012:17:52:21 +0800] "GET /index.php HTTP/1.0" 503 213 "-" "WebBench 1.5" -

..............................................................................................

通过以上测试,可以得出限制ip连接数是没有问题的,但是限制带宽看不出来,说实话这个不好测试,所以就没测试了

利用apache限制IP并发数和下载流量控制

安装mod_limitipconn限制IP连接数

1,下载地址:http://dominia.org/djao/limitipconn2.html

2,安装:[root@BlackGhost mod_limitipconn-0.22]# /usr/local/apache2/bin/apxs -c -i mod_limitipconn.c

3,配置如下vi httpd.conf

代码如下
ExtendedStatus On
LoadModule limitipconn_module modules/mod_limitipconn.so

<IfModule mod_limitipconn.c>
<Location /> #对应根目录
MaxConnPerIP 6 #最大并发数
NoIPLimit image/* #对图片不做限制
</Location>
<Location /download> #对根目录下面的download
MaxConnPerIP 1 #最大并发数为1
</Location>
</IfModule>

说明:解压mod_limitipconn-0.22.tar.gz后,文件里面有一个README里面有配置的拿出来,根据自己的需要改一改就行了,如果真的不会,可以上网上查,像apache用的人这么多,我想你的问题别人也遇到过,一查肯定能查到。如果你想放到虚拟主机进行最大并发数控制,可以修改extra/httpd-vhost.conf把<IfModule mod_limitipconn.c>这个东西copy到<Virtualhost>中就可以了

三,安装mod_bandwidth

mod_bandwidth可以对IP的并发数进行控制,也可以对下载流量进行控制,也可以对某个目录的流量进行控制。

1,下载地址:http://bwmod.sourceforge.net/

2,安装:[root@BlackGhost mod_bw]# /usr/local/apache2/bin/apxs -c -i mod_bw.c

3,配置如下vi httpd.conf 加上LoadModule bw_module modules/mod_bw.so
然后打开vi httpd-vhosts.conf

代码如下
listen 10004
NameVirtualHost *:10004
<VirtualHost *:10004>
DocumentRoot "/home/zhangy/www/test"
ServerName *:10004
BandwidthModule On
ForceBandWidthModule On
Bandwidth all 1024000
MinBandwidth all 50000
LargeFileLimit * 500 50000
MaxConnection all 6
ErrorLog "/home/zhangy/apache/www.test.com-error.log"
CustomLog "/home/zhangy/apache/www.test.com-error.log" common
</VirtualHost>

解压bandwidth的压缩文件后,里面有一个mod_bw.txt有详细的说明和实例,下面是部分参数说明:

1,BandWidth localhost 0 #对localhost不限速
2,BandWidth 192.168.1.5 102400 #对192.168.1.5限速为100KB

3,BandWidth “u:^Mozilla(.*)” 10240 #用mozilla时限速10KB
4,BandWidth “u:wget” 102400 #如果用wget下载时限速10KB

5,MinBandWidth all -1 #保证每个客户端最高速度可达10KB
6,LargeFileLimit .jpg 100 10240 #jpg文件超过100KB,限速10KB

7,#下面的510挺好,如果不设置,apache自己会报错,就根报404差不多,页面非常的丑
ErrorDocument 510 /exceed_speed.html
BandWidthError 510

8,MaxConnection all 10 #所有ip最大连接数为10
9,MaxConnection 192.168.1.5 5 #192.168.1.5最大连接数为5

(0)

相关推荐

  • linux服务器(nginx或者apache)限制IP访问

    近段时间一直饱受垃圾评论的攻击,服务器一度负载太高而宕机,参见:WordPress垃圾评论防御记。开始试了很多方法都不能很好的解决问题,最后通过屏蔽垃圾评论IP的方式,算是解决了这个问题,当然这个方法 ...

  • Win10如何修改TCP/IP连接数

    TCP/IP半开连接数限制查看方式: 1.快捷键WIN+R,打开运行,输入regedit,进入注册表路径: 2.找到HKEY_LOCAL_MACHINESYSTEM\CurrentControlSet ...

  • Win10系统如何修改TCP/IP连接数?Win10修改TCP/IP连接数来解决网页比较卡顿的问题

    很多朋友在使用Win10正式版系统过程中,经常会碰到下载资源或打开网页比较卡顿的问题,这是怎么回事呢?其实,该问题是微软处于安全考虑,限制系统中的TCP/IP半开连接数导致的.我们可以手动开启TCP/ ...

  • Win7系统如何设置路由器IP宽带控制?win7系统路由器IP流量控制的设置方法

    有时候为了能够让网络分配的更均匀,我们可以设置路由器IP宽带控制,下面小编和大家分享win7设置路由器IP宽带控制的技巧. 设置方法: 1.首先我们需要保证我们的路由器具有IP流量控制功能: 2.通过 ...

  • 让Apache支持SHTML(SSI)的配置方法

    shtml和asp有一些相似,以shtml命名的文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时,服务器端会把这些SHTML ...

  • 在Apache上隐藏服务器签名的方法

    这篇文章主要介绍了在Apache上隐藏服务器签名的方法,示例基于Debian系的Linux,需要的朋友可以参考下 透露网站服务器带有服务器/PHP版本信息的签名会带来安全隐患,因为你基本上将你系统上的 ...

  • 解决Win10系统出现IP地址冲突的方法

    在近期有部分win10系统用户在上网的过程中,桌面右下角出现"IP地址冲突"的提示,很多用户表示对该问题不解,对于出现该问题是因为局域网下,路由器分配IP是出现了问题,故此我们想要 ...

  • win10系统出现以太网没有有效的ip配置的解决方法

    许多用户对以太网这个新型的网络协议不是特别的了解,其实以太网我们可将它作为局域网来理解,这样用户就能够快速知道它的作用了,以太网的重要性在win10系统下是非常重要的,如果以太网配置不正确,可能会出现 ...

  • 优酷会员账号提示:分享不合法超过ip上限的解决方法

    优酷会员账号提示:分享不合法超过ip上限的解决方法 优酷会员 优酷会员账号提示:分享不合法,超过ip上限的解决方法 首先,修改密码,然后,联系客服解决. 如果你使用的是共享账号,这个时候就没有办法了, ...