Source code
Login
Home
Articles
Open-Source
Pictures
About Me
Documents
Hot
1
汇编第五章
2
unix文件
3
ubuntu使用root用户登陆14-15版本可用
4
PHP-GTK2-文档学习&翻译——教程部分表格布局使用GtkTable
5
解决LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
6
时钟
7
php导出数据到xls文件
8
Windows GUI开发在控制台打印输出
9
Vim设置字体linux和windows
10
对象代理
Links
网易云课堂
简明现代魔法
看风景
果壳网看科技
下厨房
Redis官网
nginx官网
Mysql文档
持续集成项目travis-c...
在线图书创作Leanpub
PHP-CPP
值得推荐的C/C++库和框架
腾讯一个php
Jquery插件库网站
phpstorm免费注册码
Game And C 老外
owent-ACM-Cpp-...
开源应用程序架构
QTCN开发网
OAuth2协议
SwiftChinese
香草/Vanilla是一个基...
个人征信查询
A set of PHP l...
知行一 | 顶级C++社区
国外QT支持站
WebGL中文网-three...
UE4学习资源合集
https://www.ma...
cppcon
C++官方文档
C++中文友好文档
阿里云珍贵技术资料免费下载
LoL查询
opengl-tutoria...
WebGl版本支持检测网址
OpenGL API Doc...
Git 在团队中的最佳实践-...
A successful G...
GLAD- 比glew更好的...
OpenGL模型导入库-As...
WebGL-火狐doc
如何开发一款游戏:游戏开发流...
Shader
nodejs中文网
Dracula-A dark...
即时通讯网
https://apizza...
sweetalert
伯乐在线github
阿里巴巴免费图标
opengl特效
看见统计
codewars算法挑战1
leetcode算法挑战2
PHP列续松博客
electron-vue文档
Vue Cli 3.0
element-ui
翻墙
Golang ORM ——G...
访客地图
Module ngx_http_limit_req_module
张成
2017/4
1627
# Module ngx_http_limit_req_module - Example Configuration - Directives - limit_req - limit_req_log_level - limit_req_status - limit_req_zone ngx_http_limit_req_module模块(0.7.21)用来限制每一个定义的key的请求处理速率,尤其是处理的请求来自一个单一的IP地址。限制使用漏桶算法Leaky Bucket。 #### Example Configuration ``` http { limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ... server { ... location /search/ { limit_req zone=one burst=5; } ``` #### Directives ``` Syntax: limit_req zone=name [burst=number] [nodelay]; Default: — Context: http, server, location ``` 设置共享内存区和最大burst大小的请求。如果请求率超过了配置定义的速度那么其请求被延迟。过度请求超过了最大burst大小设置的值时,那么返回503错误(Service Temporarily Unavailable),默认的burst设置为0,即没有延迟 超过即返回503. ``` limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; server { location /search/ { limit_req zone=one burst=5; } ``` 允许不超过每秒平均1请求,并发不超过5的请求。 超过burst大小的请求如果不是想处理的,应该设置nodelay参数 ``` limit_req zone=one burst=5 nodelay; ``` 有几个limit_req指令。例如,下面的虚拟服务器的配置将会限制处理的请求来自一个单一的IP地址请求处理速度: ``` limit_req_zone $binary_remote_addr zone=perip:10m rate=1r/s; #10M内存空间 单个ip速率没秒1个 limit_req_zone $server_name zone=perserver:10m rate=10r/s; #10M内存空间 单个server_name每秒处理速度10个 server { ... limit_req zone=perip burst=5 nodelay; limit_req zone=perserver burst=10; } ``` 这些指令是继承了以前的水平当且仅当没有limit_req指示当前的水平。 ``` Syntax: limit_req_log_level info | notice | warn | error; Default: limit_req_log_level error; Context: http, server, location This directive appeared in version 0.8.18. ``` 设置限制请求log级别,Delay请求log比拒绝的请求日志级别低一个档次,默认的拒绝请求log级别为error。 ``` Syntax: limit_req_status code; Default: limit_req_status 503; Context: http, server, location This directive appeared in version 1.3.15. ``` 设置拒绝请求的状态码 ``` Syntax: limit_req_zone key zone=name:size rate=rate; Default: — Context: http ``` 设置限制区参数,size大小的内存保存 key此时的请求数量 ,key可以包含文本、变量和它们的组合。key不可为空值 使用的例子: ``` limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ``` 这里的状态保存在一个10m的区域one和该区域的平均请求处理速度不能超过1每秒请求。 请求中指定的速度是每秒(r / s)。如果不到一个请求/秒的速度,它是在请求中指定每分钟(r / m)。例如,half-request每秒30 r / m。
上一篇:
Module ngx_http_auth_basic_module
下一篇:
Module ngx_http_limit_conn_module
Please enable JavaScript to view the
comments powered by Disqus.