Gateway 요청 제한 제안

현재 구조상 최전단은 gateway nginx 이므로, 일반 API와 정적 파일에 대한 1차 요청 제한은 gateway에서 적용하는 것이 적절합니다.

단, SSE는 일반 API와 다르게 장시간 연결을 유지하는 방식이라 IP 기준 제한을 강하게 걸면 같은 공유기/NAT 환경의 정상 사용자까지 함께 제한될 수 있습니다.

따라서 SSE는 현재 단계에서 gateway 강제 제한 대상에서 제외하거나, 매우 완화된 수준으로만 고려하는 것이 좋습니다.


1. 일반 API /api/

항목 의미
초당 요청 횟수 15회 같은 IP가 1초에 평균 15개 요청까지 허용
순간 추가 요청 허용량 30회 짧은 순간 몰리는 요청을 30개까지 추가 허용
요청 초과 시 처리 429 제한 초과 요청은 Too Many Requests 반환
동시 연결 수 20개 같은 IP가 동시에 유지할 수 있는 연결 수
적용 대상 /api/ 일반 백엔드 API 전체
목적 중간 수준 보호 일반 사용자 영향 없이 과도한 반복 호출 차단

2. 정적 파일 /assets/

항목 의미
초당 요청 횟수 30회 같은 IP가 1초에 평균 30개 요청까지 허용
순간 추가 요청 허용량 60회 이미지가 한 번에 여러 개 뜨는 상황을 완충
요청 초과 시 처리 429 제한 초과 요청 차단
동시 연결 수 30개 같은 IP가 동시에 유지할 수 있는 연결 수
적용 대상 /assets/ MinIO public bucket 공개 경로
목적 완화된 보호 이미지 로딩은 허용하되 비정상 대량 요청 완화

3. SSE 경로

현재는 gateway 강제 제한 보류 권장

항목 의미
gateway rate limit 미적용 권장 SSE는 일반 API처럼 짧은 요청 다건 패턴이 아님
gateway connection limit 미적용 또는 매우 완화 공유기/NAT 환경에서 정상 사용자 오탐 가능
적용 대상 예: /api/stocks/stream 실시간 주식 데이터 스트림 엔드포인트
주의사항 IP 기준 제한 부적합 가능 여러 사용자가 같은 공인 IP를 공유할 수 있음
권장 방식 백엔드 사용자 기준 제한 로그인 사용자 ID 기준으로 연결 수 제어 권장

4. 적용 권장 여부

경로 gateway 제한 적용 여부 이유
/api/ 적용 권장 일반 API는 IP 기준 제한이 비교적 안전함
/assets/ 적용 권장 정적 파일 과도 요청 완화에 적절함
SSE 보류 권장 공유 IP 환경에서 정상 사용자까지 제한될 수 있음

5. 참고