현재 구조상 최전단은 gateway nginx 이므로, 일반 API와 정적 파일에 대한 1차 요청 제한은 gateway에서 적용하는 것이 적절합니다.
단, SSE는 일반 API와 다르게 장시간 연결을 유지하는 방식이라 IP 기준 제한을 강하게 걸면 같은 공유기/NAT 환경의 정상 사용자까지 함께 제한될 수 있습니다.
따라서 SSE는 현재 단계에서 gateway 강제 제한 대상에서 제외하거나, 매우 완화된 수준으로만 고려하는 것이 좋습니다.
/api/| 항목 | 값 | 의미 |
|---|---|---|
| 초당 요청 횟수 | 15회 | 같은 IP가 1초에 평균 15개 요청까지 허용 |
| 순간 추가 요청 허용량 | 30회 | 짧은 순간 몰리는 요청을 30개까지 추가 허용 |
| 요청 초과 시 처리 | 429 | 제한 초과 요청은 Too Many Requests 반환 |
| 동시 연결 수 | 20개 | 같은 IP가 동시에 유지할 수 있는 연결 수 |
| 적용 대상 | /api/ |
일반 백엔드 API 전체 |
| 목적 | 중간 수준 보호 | 일반 사용자 영향 없이 과도한 반복 호출 차단 |
/assets/| 항목 | 값 | 의미 |
|---|---|---|
| 초당 요청 횟수 | 30회 | 같은 IP가 1초에 평균 30개 요청까지 허용 |
| 순간 추가 요청 허용량 | 60회 | 이미지가 한 번에 여러 개 뜨는 상황을 완충 |
| 요청 초과 시 처리 | 429 | 제한 초과 요청 차단 |
| 동시 연결 수 | 30개 | 같은 IP가 동시에 유지할 수 있는 연결 수 |
| 적용 대상 | /assets/ |
MinIO public bucket 공개 경로 |
| 목적 | 완화된 보호 | 이미지 로딩은 허용하되 비정상 대량 요청 완화 |
현재는 gateway 강제 제한 보류 권장
| 항목 | 값 | 의미 |
|---|---|---|
| gateway rate limit | 미적용 권장 | SSE는 일반 API처럼 짧은 요청 다건 패턴이 아님 |
| gateway connection limit | 미적용 또는 매우 완화 | 공유기/NAT 환경에서 정상 사용자 오탐 가능 |
| 적용 대상 | 예: /api/stocks/stream |
실시간 주식 데이터 스트림 엔드포인트 |
| 주의사항 | IP 기준 제한 부적합 가능 | 여러 사용자가 같은 공인 IP를 공유할 수 있음 |
| 권장 방식 | 백엔드 사용자 기준 제한 | 로그인 사용자 ID 기준으로 연결 수 제어 권장 |
| 경로 | gateway 제한 적용 여부 | 이유 |
|---|---|---|
/api/ |
적용 권장 | 일반 API는 IP 기준 제한이 비교적 안전함 |
/assets/ |
적용 권장 | 정적 파일 과도 요청 완화에 적절함 |
| SSE | 보류 권장 | 공유 IP 환경에서 정상 사용자까지 제한될 수 있음 |