Nginx

NGINX - 限制請求以防止濫用

  • April 2, 2017

我想這樣做的原因是因為使用者使用 JavaScript 針對我們的 API 進行開發,並且一些開發人員搞砸了並導致訪問者使用 AJAX 請求猛擊伺服器。發生這種情況時,我希望能夠將 API 請求限制為每分鐘 50 個請求,或者類似的東西。

**注意:(**尤其是數據庫密集型資源,因此可能在路徑級別,而不是伺服器範圍內(例如節流閥“/json_api/”,但不是“/static/”)。

這可以使用帶有 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指令(或相反)。

引用自:https://serverfault.com/questions/179646