박주니 개발 정리

laravel many request 429 에러 해결 본문

라라벨

laravel many request 429 에러 해결

박주니 2024. 1. 9. 18:34
728x90
반응형

준비 단계)

먼저 프론트에 spinner 및 메크로 방지 적용부터 진행해주시길 바랍니다. 

 

Http/Kernel.php

    protected $middlewareGroups = [
        'web' => [
			//
        ],

        'api' => [
            'throttle:300,1',
            'bindings',
        ],
    ];

추가 설명)

throttle:300, 1로 설정한 이유는 그전에 60, 1 즉 1분동안 60번 호출하라는 해결 방법에 대해서 적용을 했을 때 프론트에서 spinner를 적용했는데도 many request 에러가 발생되어서 1분에 300번으로 늘렸습니다.

현재 서비스 과부하 여부를 확인하고 조정하면 될 것입니다.

 

routes/api.php

 Route::group(['middleware' => ['auth:sanctum', 'throttle:300,1']], function(){
 
 })

추가 설명)

현재 middleware group에다가 설정했기 때문에 해당되는 Route group에다가 throttle을 kernel에 설정 그대로 적용하시면 됩니다. 

 

중요)

many request 429에러는 지금 설정을 기반으로 초과가 되었을 때 에러 발생하는게 429에러입니다. 

그렇기 때문에 현재 설정이 잘못된 것이 아니라 제대로 동작되기 때문에 429에러가 나오는 것임으로 throttle을 값을 조정하시면 됩니다. 

 

더 보완하는 방법은 ip 인식 속도 제한하는 방법인데 그건 추후에 설정해서 정리해보겠습니다. 

 

참고)

https://github.com/laravel/framework/discussions/27512

 

429: Too Many Requests · laravel/framework · Discussion #27512

Hi, I have been trying for the better part of a week to diagnose why my Laravel 5.7 based API has suddenly started having issues with throttling (429: Too Many Requests). I have (for years) logged ...

github.com

 

728x90
반응형
Comments