프로젝트 API의 속도 제한
Tier: Free, Premium, Ultimate
Offering: Self-managed
- GitLab 15.10에서
rate_limit_for_unauthenticated_projects_api_access
라는 플래그와 함께 도입됨. 기본적으로 비활성화됨.- 2023년 5월 08일에 GitLab.com에서 활성화됨.
- GitLab 16.0에서 기본적으로 자체 관리형으로 활성화됨.
- GitLab 16.0에서 일반 사용 가능. 기능 플래그
rate_limit_for_unauthenticated_projects_api_access
제거됨.- GitLab 17.1에서 그룹 및 프로젝트 API에 대한 속도 제한 도입됨.
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으로 설정할 수 있습니다.
- 인증되지 않은 요청을 제외하고는
rate_limit_groups_and_projects_api
에 의해 적용됩니다.
속도 제한을 초과한 요청은 auth.log
파일에 기록됩니다.
예를 들어, GET /projects/:id
에 대해 400의 제한을 설정할 경우,
1분 내에 400을 초과하는 요청은 차단됩니다.
1분이 경과하면 엔드포인트에 대한 접근이 복원됩니다.