gpt4 book ai didi

整个子网的 Nginx 速率限制计数,而不仅仅是每个 IP

转载 作者:行者123 更新时间:2023-12-02 02:54:52 31 4
gpt4 key购买 nike

我在 Nginx 中定义了一个用于限制请求的区域,如他们的文档中所述,这很简单:

limit_req_zone $binary_remote_addr zone=leash:10m rate=18r/s;

到现在为止还挺好。

它适用于冒犯行为的客户,但最近他们中的一些人在访问我的服务时开始轮换他们的 IP 地址,主要在/24 范围内,所以我想知道是否可以将区域连接计数限制应用于整个 IP范围(不仅仅是每个 IP),像 --connlimit-mask 24 标志之类的东西可以与 iptables 一起使用......?

最佳答案

最简单的方法是使用 nginxmap 指令的 geo 组合,这也将为您提供最大的灵活性,恕我直言。

geo $geoRateBlacklist {
default 0;
192.0.0.0/24 1;
10.0.0.0/24 1;
172.0.0.0/24 1;
}

map $geoRateBlacklist $rateBlacklist {
1 $binary_remote_addr;
0 "";
}

limit_req_zone $rateBlacklist zone=leash:10m rate=18r/s;

从内存中快速完成,但应该可以工作。

关于整个子网的 Nginx 速率限制计数,而不仅仅是每个 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49998529/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com