我寻求一个解决scheme,为http api做速率限制,对于nginx已经有一个模块HttpLimitReqModule支持这个function。 但是参考文档,这个模块只支持每秒和每分钟。 任何解决scheme每小时/天?
我不知道nginx中的一个函数。 但是,您可以使用auth_request模块将所有传入流量交给检查流量并应用速率限制规则的上游Web服务。
location / { auth_request /ratelimiter; .. Normal configuration settings } location /ratelimiter { proxy_pass http://internalratelimitinghost; # return a HTTP 200 to allow the request # return anything else to deny it }
nginx auth_request 。 该模块默认不包含,所以你需要编译它。