扩展前面的例子,我们可以对白名单上的IP地址应用速率限制: 白名单上的IP地址与第一个速率限制( req_zone )不匹配,但匹配第二个( req_zone_wl ),因此每秒限制为15个请求。
扩展前面的例子,我们可以对白名单上的IP地址应用速率限制:
< div> 白名单上的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地址配置不同的白名单和黑名单来匹配不同的高级配置的介绍,同时我们也介绍了如何记录被拒绝和延迟的记录。希望通过今天本文章的分享,能够对大家有所帮助。同时如果大家有更好的见解也可以与我们交流互动,我们将十分欢迎。