프로젝트 API의 속도 제한
Tier: Free, Premium, Ultimate
Offering: Self-Managed
- GitLab 15.10에 도입되었습니다. 기본으로 비활성화된
rate_limit_for_unauthenticated_projects_api_access
라는 플래그로 함께.- 2023년 5월 8일에 GitLab.com에서 활성화되었습니다.
- 기본으로 GitLab 16.0에서 Self-Managed에서 활성화되었습니다.
- GitLab 16.0에서 일반적으로 사용 가능해졌습니다.
rate_limit_for_unauthenticated_projects_api_access
플래그가 제거되었습니다.- 그룹 및 프로젝트 API에 대한 속도 제한이 GitLab 17.1에서 도입되었습니다. 기본으로 비활성화된
rate_limit_groups_and_projects_api
라는 플래그와 함께.
다음 프로젝트 API에 대한 요청의 IP 주소 및 사용자별 속도 제한을 구성할 수 있습니다.
제한 | 기본값 | 간격 |
---|---|---|
GET /projects (미인증 요청) | 400 | 10분 |
GET /projects (인증된 요청) | 2000 | 10분 |
GET /projects/:id | 400 | 1분 |
GET /users/:user_id/projects | 300 | 1분 |
GET /users/:user_id/contributed_projects | 100 | 1분 |
GET /users/:user_id/starred_projects | 100 | 1분 |
속도 제한을 변경하려면:
- 왼쪽 사이드바에서 맨 아래에서 관리자를 선택합니다.
- 설정 > 네트워크를 선택합니다.
- 프로젝트 API 속도 제한을 확장합니다.
- 원하는 속도 제한 값을 변경합니다. 속도 제한은 인증된 요청의 경우 분당 사용자당, 미인증된 요청의 경우 IP 주소별입니다.
속도 제한을 비활성화하려면
0
으로 설정합니다. - 변경 사항 저장을 선택합니다.
속도 제한은:
- 사용자별로 인증된 경우 사용자당 적용됩니다.
- 사용자가 인증되지 않은 경우 IP 주소별로 적용됩니다.
- 속도 제한을 비활성화하려면 0으로 설정할 수 있습니다.
-
GET /projects
API의 미인증된 요청을 제외하고rate_limit_groups_and_projects_api
뒤에 있습니다.
속도 제한을 초과하는 요청은 auth.log
파일에 로그가 기록됩니다.
예를 들어, GET /projects/:id
의 제한을 400으로 설정하면 1분 내에 400회를 초과하는 API 엔드포인트의 요청은 차단됩니다. 엔드포인트에 대한 액세스는 1분이 경과한 후에 복구됩니다.