Nginx
NGINX - 限制請求以防止濫用
我想這樣做的原因是因為使用者使用 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
指令(或相反)。