开启左侧

[环境配置] Nginx 限制单个IP的并发连接数及对每个连接速度(限速)

[复制链接]
钟振森 发表于 2015-5-26 18:09:06 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Nginx 限制单个IP的并发连接数及对每个连接速度(限速)使用Nginx限制单个IP的并发连接数能够减少一些采集程序或者DDOS的攻击。
再lnmp的nginx配置中已经添加了部分代码,但是是注释掉的,可以编辑/usr/local/nginx/conf/nginx.conf 文件

1.1.8以上版本的nginx的设置:
查找:代码:#limit_conn_zone $binary_remote_addr zone=perip:10m;
,将前面的#去掉,没这一行的,话加上代码:limit_conn_zone $binary_remote_addr zone=perip:10m;
再在要设置限制连接数的虚拟主机配置里的server段里添加上代码:
limit_conn perip 10;
10就是单个IP的最大并发连接数。代码:
limit_rate 100k;
limit_rate为限速为 100KB/秒。
限制每个连接速度为100K,此限制是针对单个线程,比如,我用IE下载是100K,当用迅雷时它会占用2个线程,所以迅雷下载速度为200K,如果单个IP的并发数设置为10,则多线程下载的话速度可以达到100K×10。

最后/usr/local/nginx/sbin/nginx -t 测试配置是否有错误,如没有错误执行:
/usr/local/nginx/sbin/nginx -s reload 重载配置使其生效


####################################################
以下为旧版nginx下的设置:
查找:代码:

#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即可。




来源:源码之家,欢迎分享 (QQ/微信:83122197)

上一篇:LNMP优化教程
下一篇:关于centos上lnmp pear的安装

精彩评论1

amv35656799 发表于 2016-4-23 15:25:38 | 显示全部楼层
在源码之家无回帖,不论坛,这才是人道。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

专注站长素材教程分享
全国免费热线电话

400-001-2588

周一至周日9:00-23:00

反馈建议

在线QQ咨询

扫描二维码关注我们

Copyright©2011-2020 东莞市科森网络科技有限公司版权所有 Ymzj.Cn Inc. 粤ICP备13005626号 粤公网安备:44190002000522号