Nginx服务器限速功能(四)

扩展前面的例子,我们可以对白名单上的IP地址应用速率限制: 白名单上的IP地址与第一个速率限制( req_zone )不匹配,但匹配第二个( req_zone_wl ),因此每秒限制为15个请求。...

 扩展前面的例子,我们可以对白名单上的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地址配置不同的白名单和黑名单来匹配不同的高级配置的介绍,同时我们也介绍了如何记录被拒绝和延迟的记录。希望通过今天本文章的分享,能够对大家有所帮助。同时如果大家有更好的见解也可以与我们交流互动,我们将十分欢迎。
 

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关文章

免费咨询获取折扣