仓酷云

标题: 来一发nginx限速 对CC、DDOS有必定的进攻感化 [打印本页]

作者: 深爱那片海    时间: 2015-1-14 20:23
标题: 来一发nginx限速 对CC、DDOS有必定的进攻感化
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!nginx是个不错的web办事器,供应了全方位的限速功效,次要的功效模块是ngx_http_core_module、ngx_http_limit_conn_module和ngx_http_limit_req_module,第一个模块中有limit_rate功效(限网速带宽),后两个模块从字面上讲,功效分离是限定毗连(limitconnection)和限定哀求(limitrequest),这几个模块默许都编译进了nginx中心。

一切的限定都是针对IP的,因而对CC、DDOS有必定的进攻感化。

限带宽很简单分明,间接上例子

1

2

3

location/mp3{

limit_rate200k;

}





有一种体例可让限速加倍人道化,即传输必定流量后入手下手限速,

好比先全速传输1M,然后入手下手限速:

1

2

3

4

location/photo{

limit_rate_after1m;

limit_rate100k;

}





接上去讲限并发数和哀求数。

为何有这两个模块呢?由于我们晓得,一个页面一般有多个子模块,比如5张图片,那末我们哀求这个页面时倡议了一个毗连,可是这一个毗连包括了5次图片哀求,也就是说,一个毗连能够倡议屡次哀求。我们为了保持用户体验,是限定毗连数仍是哀求数,要依据实践必要举行选择。

1、限定毗连数
要限定毗连,必需先有一个容器对毗连举行计数,在http段到场以下代码:
1

limit_conn_zone$binary_remote_addrzone=addr:5m;




如许就在内存中创立了一个5M巨细,名为addr的限速池(每一个毗连占用32或64字节,5m巨细可包容数以万计的毗连,一般是充足的,假如5M内存耗尽,将前往503)

接上去必要对server分歧的地位(location段)举行限速,好比限定每一个IP并发毗连数为2,则
1

limit_connaddr2;






2、限定哀求数
要限定哀求数,也必需先创立一个限速池,在http段到场以下代码:
1

limit_req_zone$binary_remote_addrzone=one:5m;




限速分为全范围速和部分限速,

关于全范围速,我们只必要在前面加上参数便可,好比每秒20个哀求,rate=20r/s,即:
<divstyle="padding-bottom:0px;text-transform:none;background-color:rgb(255,255,255);text-indent:0px;margin:0px;padding-left:0px;padding-right:0px;font:14px/28px宋体,ArialNarrow,arial,serif;white-space:normal;letter-spacing:normal;color:rgb(44,44,44);word-spacing:0px;padding-top:0px;-webkit-text-stroke-width:0px"><divclass="syntaxhighlighterbash"id="highlighter_65475"style="box-sizing:content-box!important;border-bottom:0px;position:relative!important;text-align:left!important;border-left:0px;padding-bottom:0px!important;line-height:1.1em!important;overflow-x:auto!important;overflow-y:visible!important;font-style:normal!important;margin:0.3em0px;outline-style:none!important;outline-color:invert!important;min-height:inherit!important;padding-left:0px!important;outline-width:0px!important;width:720px;bottom:auto!important;padding-right:0px!important;font-family:Consolas,BitstreamVeraSansMono,CourierNew,Courier,monospace!important;background:white;float:none!important;font-size:1em!important;vertical-align:baseline!important;border-top:0px;top:auto!important;right:auto!important;font-weight:normal!important;border-right:0px;padding-top:0px!important;left:auto!important;border-top-left-radius:0px;border-bottom-left-radius:0px;border-bottom-right-radius:0px;border-top-right-radius:0px">
1

作者: 飘灵儿    时间: 2015-1-16 16:45
标题: 来一发nginx限速 对CC、DDOS有必定的进攻感化
为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
作者: 山那边是海    时间: 2015-1-25 09:20
对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。
作者: 老尸    时间: 2015-2-2 21:52
直到学习Linux这门课以后,我才知道,原来我错了。?
作者: 金色的骷髅    时间: 2015-2-8 09:32
其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。
作者: 若天明    时间: 2015-2-25 13:57
主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
作者: 只想知道    时间: 2015-3-8 00:34
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
作者: 仓酷云    时间: 2015-3-15 22:54
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
作者: 莫相离    时间: 2015-3-22 18:12
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2