Nginx 限制单个IP的并发连接数及对每个连接限速

jackxiang 2013-6-9 23:06 | |

   使用Nginx限制单个IP的并发连接数能够减少一些采集程序或者DDOS的攻击。
再lnmp的nginx配置中已经添加了部分代码,但是是注释掉的,可以编辑/usr/local/nginx/conf/nginx.conf 文件
查找:

代码:
#limit_zone  oneip  $binary_remote_addr  10m;
将前面的#去掉,没这一行的,话加上

代码:
limit_zone  oneip  $binary_remote_addr  10m;
,再在虚拟主机配置的server段里添加

代码:
limit_conn oneip 20;
limit_conn 语句最后面的数字为单个IP的最大并发连接数。

如果是非lnmp安装的也很简单,在nginx.conf里添加上

代码:
limit_zone oneip $binary_remote_addr 10m;
limit_conn oneip 20;
当然,limit_conn oneip 20; 语句也是可以添加到server 段里只针对某个虚拟主机做此限制。

限制直接在server段里限制并发数这一行下面加上limit_rate 100k;
限制每个连接速度为100K,此限制是针对单个线程,比如,我用IE下载是100K,当用迅雷时它会占用2个线程,所以迅雷下载速度为200K,如果单个IP的并发数设置为20,则多线程下载的话速度可以达到100K×20。

最后重启nginx即可。

来自:http://bbs.vpser.net/viewthread.php?tid=3017

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/6435/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]