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