Мне нужно установить разные ограничения скорости для разных путей.
Например:
По пути / пользователей Я хочу, чтобы ограничение скорости 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 questions».
Вы можете попробовать закомментировать ставку по умолчанию на линия 40 Kernel.php
так как вы указываете его в каждой группе промежуточного программного обеспечения, чтобы избежать конфликта.
Вы также можете изменить промежуточное программное обеспечение, включив в него второй параметр того, как долго длится период ожидания до поступления следующего запроса (например, throttle:60,1
)
Других решений пока нет …