簡體   English   中英

Laravel:不同路徑的不同api速率限制

[英]Laravel: different api rate limits for different paths

我需要為不同的路徑設置不同的速率限制。 敵人的例子:

在路徑/用戶上我希望每分鍾有60個請求的速率限制,而對於路徑/統計數據,我希望每分鍾只有5個請求的速率限制。

我嘗試了下一個方法

Route::group(['middleware' => ['auth', 'throttle:60']], function(){
   Route::get('users', 'User@list');
});
Route::group(['middleware' => ['auth', 'throttle:5']], function(){
   Route::get('stats', 'User@stats');
});

不知何故,應用最后一個速率限制。 但是,在用戶路徑上發出請求時,X-Rate-Limit-Limit標頭設置為60,但是當它達到第6個請求時會拋出“Too many requests”錯誤。

您可能想嘗試Kernel.php第40行上注釋掉默認速率,因為您在每個中間件組中指定它以避免沖突。

您可能還想更改中間件以包含第二個參數,即等待時間到下一個請求可以進入的時間。(例如, throttle:60,1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM