我需要为不同的路径设置不同的速率限制。
例如:
在path/users上,我希望速率限制为每分钟60个请求,而对于path/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个请求时抛出“请求过多”错误。

最佳答案

您可能想尝试注释掉line 40 of the Kernel.php上的默认速率,因为您是在每个中间件组中指定它以避免冲突。
您可能还希望更改中间件,以包含第二个参数,即等待时间到下一个请求可以进入的时间。(例如throttle:60,1

07-24 15:33