{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署

{{< /details >}}

{{< history >}}

  • 引入于极狐GitLab 15.10,使用名为 rate_limit_for_unauthenticated_projects_api_access功能标志。默认禁用。
  • 2023 年 5 月 8 日为 JihuLab.com 启用。
  • 在极狐GitLab 16.0 中,为私有化部署默认启用。
  • 在极狐GitLab 16.0 中 GA。功能标志 rate_limit_for_unauthenticated_projects_api_access 被移除。
  • 针对群组和项目 API 的速率限制引入于极狐GitLab 17.1。使用名为 rate_limit_groups_and_projects_api功能标志。默认禁用。

{{< /history >}}

配置速率限制

您可以为以下 项目 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 分钟

要更改速率限制:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > 网络
  3. 展开 项目 API 速率限制
  4. 更改任何速率限制的值。速率限制是每分钟每个用户(针对已认证的请求)和每个 IP 地址(针对未认证的请求)。设置为 0 可禁用速率限制。
  5. 选择 保存更改

速率限制:

  • 如果用户已认证,则适用于每个用户。
  • 如果用户未认证,则适用于每个 IP 地址。
  • 可以设置为 0 以禁用速率限制。
  • 除了对 GET /projects API 的未认证请求外,其他请求都在 rate_limit_groups_and_projects_api 后面。

超过速率限制的请求会记录到 auth.log 文件中。

例如,如果您为 GET /projects/:id 设置了 400 的限制,那么超过 400 次请求的 API 端点在 1 分钟内将被阻止。访问将在一分钟后恢复。