Nginx 限速
01
限速介绍
02
应⽤场景
03
限速原理
04
限速实现
限速介绍 01
• 限速该特性可以限制某个⽤户在⼀个给定时间段内能够产⽣的HTTP请求数。请求可以简单到就是⼀个对于主⻚的GET请求或者⼀个登陆表格的POST请求。
• 限速也可以⽤于安全⽬的上,⽐如暴⼒密码破解攻击。通过限制进来的请求速率,并且(结合⽇志)标记出⽬标URLs来帮助防范DDoS攻击。⼀般地说,限流是⽤在保护上游应⽤服务器不被在同⼀时刻的⼤量⽤户请求湮没。
应⽤场景 02
• DDOS防御
• 下载场景保护IO
限速原理 03
限速实现 04
Nginx官⽅版本限制IP的连接和并发分别有两个模块:
limit_req_zone ⽤来限制单位时间内的请求数,即速率限制。
limit_req_conn ⽤来限制同⼀时间连接数,即并发限制。
模块使⽤⽅法
• limit_req_zone 参数配置
• Syntax: limit_req zone=name [burst=number] [nodelay];
• Default: —
• Context: http, server, location
限速案例1
限速案例2
综合案例