【发布时间】:2025-12-22 15:15:06
【问题描述】:
我发现ngx_http_limit_req_module可以用来限制每次最大请求数。但据我了解,这适用于整个虚拟位置。我想要的是限制每个任意 URL 的速率。
示例:
我希望在客户端发出一个请求后,针对特定客户端阻止对 /api/list/1/votes 的请求 30 秒。但是,他应该仍然可以调用/api/list/2/votes(但在调用之后,/2 路由也应该被阻塞几秒钟)。
我最初的想法是使用正则表达式为以/votes 结尾的每条路线定义一个位置,但是(在示例中)/1 和/2 将被阻止,这不是我想要的。
有什么想法吗?
【问题讨论】:
-
您可以链接位置块。
-
我不认为这是一个选项,因为潜在路线的数量是无限的,因为 id(上例中的 1 和 2)是一个变量。
标签: nginx