Nginx 的请求限制_配置语法与原理

Nginx的请求限制

连接频率限制: -limit_conn_module

请求频率限制: -limit_req_module

 

HTTP协议的连接与请求

首先是tcp的三次握手
在进行http的连接和响应

 

 

 

HTTP协议的连接与请求

 

 Http请求建立在一次TCP连接基础上
一次TCP亲求至少产生一次HTTP请求

 

连接限制

语法1:
syntax:  limit_conn_zone key zone-name:size
Default:  -
Context:  http

限制的key(可以是ip)
需要开启的一块存储存储连接的状态

 

语法2:
syntax:  limit_conn zone number
Default:  -
context:  server,http,location

调用上述的限制
number:限制的并发数量

dcd8c65efc21f86c7a42a77aa81052d5.png  

 

结果

 

 

关于ab的使用
-n:访问此时
-c:最大并发量

 

 

 

 

请求限制的配置语法

 

语法1:
syntax:  limit_req_zone key zone=name:size rate=rate;
Default:  -
Context:  http
进行创建

语法2:
syntax:  limit_req zone=name[burst=number ] [nodelay]
default:  -
Context:  http,server,location

调用上述进行定义的limit
方括号默认不需要进行配置的

进行配置:
默认不添加参数进行测试

 

 

image.png  

与上述的ab进行对比

bdd7773b24feb78e569f904774c2af2d.png  

在进行查看error.log

 

 

传入两个参数

4548bdcf1a6edf2133e445c9bbbb12a4.png  

burst : 达到指定的速率可以进行延迟到下一秒进行访问,仅仅只是延迟
nodelay:直返回503

014fb2af1a2acafd15efb7798440b920.png  

 

posted @ 2019-11-27 09:32  MrChengs  阅读(233)  评论(0编辑  收藏  举报