我需要为不同的路径设置不同的速率限制。 敌人的例子:
路径 / users 我希望每分钟有60个请求的速率限制,而路径 / stats 我希望每分钟只有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个请求时出错。
答案 0 :(得分:4)
您可能想尝试在line 40 of the Kernel.php
上注释掉默认费率,因为您要在每个中间件组中指定它以避免冲突。
您可能还想更改中间件,以包含等待时间长度的第二个参数,直到下一个请求进入。(例如throttle:60,1
)