在 Nginx 中,可以基于 URL 地址进行限流。通常可以使用 `limit_req` 指令来实现。 以下是一个简单的示例配置,假设要对 `/api/sensitive` 这个 URL 进行限流,每秒最多处理 10 个请求: ```nginx http { limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; server { location /api/sensitive { limit_req zone=one burst=5; } } } ``` 在上述配置中: - `limit_req_zone` 定义了一个限流区域,`$binary_remote_addr` 表示基于客户端的 IP 地址进行限流,`zone=one:10m` 定义了区域名称和内存大小,`rate=10r/s` 表示每秒 10 个请求的速率。 - `limit_req zone=one burst=5` 应用了之前定义的限流区域,并设置了突发量为 5 个请求。 这样,对 `/api/sensitive` 这个 URL 的访问就会按照设定的规则进行限流。 [2024-09-03 15:46:39 | AI写代码神器 | 253点数解答]