{{< details >}}
- Tier: 基础版,专业版,旗舰版
- Offering: 私有化部署
{{< /details >}}
{{< history >}}
- 引入于极狐GitLab 17.1,使用名为
rate_limiting_user_endpoints
的功能标志。默认禁用。 - 在极狐GitLab 17.10 中增加了对于自定义速率限制的支持。
{{< /history >}}
配置每分钟的速率限制
您可以配置每分钟的速率限制,针对每个 IP 地址和每个用户,适用于以下 用户 API 的请求。
{{< alert type=”flag” >}}
此功能的可用性受控于功能标志。更多信息,可查看历史。此功能仅为测试所用,还未生产就绪。
{{< /alert >}}
限制 | 默认值 |
---|---|
GET /users/:id/followers | 每分钟 100 次 |
GET /users/:id/following | 每分钟 100 次 |
GET /users/:id/status | 每分钟 240 次 |
GET /users/:id/keys | 每分钟 120 次 |
GET /users/:id/keys/:key_id | 每分钟 120 次 |
GET /users/:id/gpg_keys | 每分钟 120 次 |
GET /users/:id/gpg_keys/:key_id | 每分钟 120 次 |
更改速率限制:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 网络。
- 展开 用户 API 速率限制。
- 为任何可用的速率限制设置值。速率限制是每分钟、每用户的认证请求和每 IP 地址的未认证请求。输入
0
以禁用速率限制。 - 选择 保存更改。
每个速率限制:
- 如果请求是认证的,则适用于每个用户。
- 如果请求是未认证的,则适用于每个 IP 地址。
- 可以设置为
0
以禁用速率限制。
日志:
- 超过速率限制的请求记录到
auth.log
文件。 - 速率限制修改记录到
audit_json.log
文件。
示例:
如果您为 GET /users/:id/followers
设置了 150 的速率限制,并在一分钟内发送了 155 个请求,最后五个请求将被阻止。一分钟后,您可以继续发送请求,直到再次超过速率限制。