Answers:
这可以通过使用带有Nginx 的LimitReqModule来完成。但是,如果这是用于反向代理的,则您可能想尝试HAProxy支持的新速率限制。
我发现nginx速率限制有点令人困惑,无法获得所需的确切速率。
但是您基本上有类似以下内容:
limit_req_zone $binary_remote_addr zone=default:10m rate=50r/m;
在该http
部分中,然后在该location
部分中的该server
部分中进行以下操作:
limit_req zone=default burst=10 nodelay;
为了不像某个部分那样使用它,/static
您只需将其分隔开location
,而不将其包含在limit_req
指令中(或取反)。
$http_authorization
变量定义一个新区域,在该区域中密钥是此类标头而不是IP地址(即)limit_req_zone $http_authorization zone = per_user : 10m rate = 5r/s
,然后per_user
在要对每个用户进行速率限制的位置部分中使用该区域。未经测试,我只阅读了文档和nginx变量列表...让我知道是否可以尝试!
zone=limit_req_zone
?