Nginx服务器限速功能(一)
发布日期:2021-07-24 10:25 | 文章来源:YINGSOO
【版权声明】文章部分内容摘自网络,不代表本站观点!若有了解“Nginx服务器限速功能(一)”等有关服务器、云主机租用、托管、配置、价格问题,请立即咨询YINGSOO客服,获取专业解答!
【本周热销】德国物理服务器 | 法国云服务器 | 新加坡物理服务器
【推荐文章】香港云服务器哪个好?如何选择香港云服务器?
我们都知道Nginx服务器有一个十分有用的限速功能,但是它却常常被错误配置。今天我们就来聊一聊它的限速功能。这个功能用来限制用户在某此时间段内请求的的HTTP请求数,此请求应该是 GET 或POST 来发出的请求。这个限速功能常常被应用于网络安全方面。比如减慢暴力密码破解的攻击,爬虫对网页的抓取,防止DDOS攻击等。通过它来限制和过滤为为真实用户的标准数值,它会把来源URL等信息写到系统日志中。更确切地说,这个功能常用于提供极少量的应用服务器,用户访问量不多,但却常常瘫痪的问题。在本文中,我们将详细介绍Nginx的速率限制基础及更高级的配置。值得一提的是,Nginx限速的工作原理与Nginx Plus相同。Nginx限速是怎样工作的Nginx限速使用 Leaky(唝水桶)算法,比喻为水桶顶部倒水,底部漏水,如果倒入水的速率超过漏水的速度,则水桶漏出。在电信网络和分组交换网络中,带宽有限的情况下该算法使用场景较多。就请求处理而言,水代表客户端的请求,存水的桶按先进先出(FIFO)调度算法处理的队列。漏出的水表示退出缓冲区等服务器处理,而溢出表示请被丢弃且不再提供服务。配置基本的速率限制速率限制主要有2个主要指令,limit_req_zone和limit_req。如下代码:limit_req_zone指令定义了速度限制的参数,同时在出现的上下文中启用速率限制。(在本例中是针对于 /login/ URI的所有请求)limit_requ_zone 指令通常定义在HTTP块中,这样可以用于多个上下文。它包含3个参数:Key - 定义应用限制的请求特征。 在这个例子中,它是Nginx变量$binary_remote_addr ,它保存着客户端IP地址的二进制表示。 这意味着我们将每个唯一的IP地址限制为由第三个参数定义的请求速率(我们使用这个变量,因为它比客户端IP地址的字符串表示$remote_addr占用更少的空间)。Zone - 定义用于存储每个IP地址状态的共享内存区域以及访问请求受限URL的频率。 将信息保存在共享内存中意味着它可以在Nginx工作进程之间共享。
热门产品:美国站群服务器租用去首页注册领券!YINGSOO推出PHA挖矿服务器、PHA挖矿教程、Chia奇亚服务器、Swarm物理节点服务器、Swarm母鸡服务器、Swarm云节点服务器、《Phala PHA挖矿资料大全》、《swarm bzz挖矿资料大全》,Swarm Bee节点租用请咨询YINGSOO客服!
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章
上一篇:
Nginx服务器限速功能(四)
下一篇: