象牙塔的案例和资讯已经很多年没有更新了,实在没有精力更新,需要最新案例请联系客服!
--- 我们没有销售只有技术,不善于也不需要宣传,服务好已有客户足以!---
Nginx服务器限速功能(四)
编辑:象牙塔 技术部  |  点击率:1240次

 扩展前面的例子,我们可以对白名单上的IP地址应用速率限制:

002UASMrzy7605pjKJv15&690.jpg

 
白名单上的IP地址与第一个速率限制( req_zone )不匹配,但匹配第二个( req_zone_wl ),因此每秒限制为15个请求。
 
不在白名单上的IP地址与两个速率限制相匹配,所以限制性较强的一个适用:每秒5个请求。
 
配置相关功能
 
记录
 
默认情况下,Nginx 记录由于速率限制而延迟或丢弃的请求,如下例所示:
 
日志条目中的字段包括:
 
limitingrequests - 指示日志条目记录速率限制。
 
excess - 此请求表示的配置速率每毫秒的请求数。
 
zone - 定义强加的限制的区域。
 
client - 发出请求的客户client IP地址。
 
server - server IP地址或主机名。
 
request - 客户端request实际HTTP请求。
 
host - Host HTTP头的值。
 
默认情况下,Nginx在error级别记录被拒绝的请求,如上例中的[error]所示(它记录延迟的请求在一个较低的级别,所以默认info )。 要更改日志级别,请使用limit_req_log_level指令。 在这里,我们设置了拒绝的请求来记录warn级别:
 
错误代码发送到客户端
 
默认情况下,当客户端超出速率限制时,Nginx以状态码503作为响应。
 
使用limit_req_status指令来设置一个不同的状态码(在这个例子中是444 ):
 
拒绝所有请求到特定的位置
 
如果您想要拒绝所有特定URL的请求,而不是限制它们,请为其配置一个块并包含all指令:
 
以上就是我们关于Nginx和Nginx Plus更多速率限制功能以及对客户端IP地址配置不同的白名单和黑名单来匹配不同的高级配置的介绍,同时我们也介绍了如何记录被拒绝和延迟的记录。希望通过今天本文章的分享,能够对大家有所帮助。同时如果大家有更好的见解也可以与我们交流互动,我们将十分欢迎。
 
  •   上一篇: Nginx服务器限速功能(三)
  •   下一篇: Nginx服务器限速功能(一)