oro*_*aki 30 nginx throttling rate-limiting
我之所以要这样做,是因为用户使用 JavaScript 针对我们的 API 进行开发,并且一些开发人员搞砸了并导致访问者使用 AJAX 请求猛烈抨击服务器。发生这种情况时,我希望能够将 API 请求限制为每分钟 50 个请求,或者类似的效果。
注意:(特别是数据库密集型资源,所以可能在路径级别,而不是服务器范围内(例如,节流“/json_api/”,但不是“/static/”)。
Kyl*_*ndt 39
这可以通过使用LimitReqModule和 Nginx来完成。但是,如果这是用于反向代理,您可能想尝试HAProxy 支持的新速率限制。
我发现 nginx 速率限制对于获得您想要的确切速率有点令人困惑。
但你基本上有这样的事情:
limit_req_zone $binary_remote_addr zone=default:10m rate=50r/m;
Run Code Online (Sandbox Code Playgroud)
在http
部分,然后像在下面location
的章节中的server
部分:
limit_req zone=default burst=10 nodelay;
Run Code Online (Sandbox Code Playgroud)
为了不像/static
您那样将它用于某个部分,只需将其作为一个单独的部分location
,而不将其包含为limit_req
指令(或相反)。
归档时间: |
|
查看次数: |
29148 次 |
最近记录: |