我需要为不同的路径设置不同的速率限制。敌人的例子:
在路径/用户上,我希望每分钟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个请求时会引发“ Too many requests”错误。
您可能要尝试注释掉的第40行Kernel.php
的默认速率,因为您正在每个中间件组中指定默认速率以避免冲突。
您可能还希望更改中间件,使其包含第二个参数,该参数表示等待下一个请求可以进入的等待时间。(例如throttle:60,1
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句