nginx限制请求数(ngx_http_limit_req_module)模块 nginx concat module echo nginx module nginx upsync modul

php中文网
发布: 2016-07-29 08:55:00
原创
1542人浏览过

上一篇文章主要写nginx限制连接数ngx_http_limit_conn_module 模块的作用及使用方法,下面来写ngx_http_limit_req_module模块的作用及使用。

通过ngx_http_limit_req_module 模块可以通过定义的键值来限制请求处理的频率。特别的,可以限制来自单个IP地址的请求处理频率。 限制的方法如同漏斗,每秒固定处理请求数,推迟过多请求。

该模块提供了两个配置参数,limit_req_zone 和 limit_req ,其中 limit_req_zone 只能配置在 http{} 段,而 limit_req 则可以配置于http{},server{},location{} 区段中。


一、limit_req_zone

语法:limit_req_zone $variable z rate=rate;
配置段:http

该指令设置一块共享内存限制域用来保存键值的状态参数。特别是保存了当前超出请求的数量。键的值就是指定的变量(控制不被计算)。如:

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul

注释:
使用$binary_remote_addr变量,可以将每条状态记录的大小减少到64个字节,这样1M的内存可以保存大约1万6千个64字节的记录

如果限制域的存储空间耗尽了,对于后续所有请求,服务器都会返回503(Service Temporarily Unavailable)错误

速度可以设置为每秒处理请求数和每分钟处理请求数,其值必须是整数,所以如果你需要每秒处理少于1个的请求,2秒处理一个请求,可以使用30r/m


二、limit_req

PatentPal专利申请写作
PatentPal专利申请写作

AI软件来为专利申请自动生成内容

PatentPal专利申请写作 13
查看详情 PatentPal专利申请写作

语法: limit_req z burst=number [nodelay];
配置段:http,server,location

设置对应的共享内存限制域和允许被处理的最大请求数阀值。如果请求的频率超过了限制域配置的值,请求处理会被延迟,所以所有的请求都是以定义的频率被处理的。超过频率限制的请求会被延迟,直到被延迟的请求数超过了定义的阀值,这时,这个请求会被终止,并返回503(Service Tempporarily Unavailable)错误,这个阀值的默认值为0,如:

限制频率每秒不超过一个请求,同时允许超过频率限制的请求数不多于100个;如果不希望超过的请求被延迟,可以用nodelay参数。

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul


三、配置使用示例

limit_req_zone $binary_remote_addr z rate=1r/s;
主要是用来定义变量,空间名称,以及共享内存大小。

limit_req z burst=100 nodelay;
主要是用来使用前面定义的空间,定义请求频率限制,使用nodelay则表示不希望超过的请求被延迟。

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul

可能要对某些IP不做限制,需要使用到白名单。

模块地址:https://yunpan.cn/cqSKP6BrJ2AeT 访问密码 4f50

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了nginx限制请求数(ngx_http_limit_req_module)模块,包括了module,nginx方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号