rate_limit_status

指令 `rate_limit_status` 用于设置当请求超过速率限制时返回的 HTTP 状态码。

语法rate_limit_status code;
默认值none
上下文http, server, location
参数1

说明

在基于 Redis 的 NGINX 速率限制模块中,rate_limit_status 指令用于定义当请求超过配置的速率限制时应返回的 HTTP 状态码。这允许服务器向客户端表明其请求已因触及规定的限制而被限流,从而确保客户端能够适当地处理此类情况。rate_limit_status 指令可以在 httpserverlocation 上下文中设置,使其在 NGINX 的服务器块中对不同的路由配置具有灵活性。

当超出允许的速率限制时,模块会检查 rate_limit_status 指令中配置的状态码以决定应返回何种响应。默认情况下,许多应用期望收到 429 请求过多 状态码,该状态码表示用户在一定时间内发送了过多的请求。使用该指令可确保 NGINX 遵循此标准行为,或允许管理员根据应用的需求自定义响应。

例如,如果某项服务将用户限制为每分钟 15 次请求,超过该阈值将触发 rate_limit_status 中配置的响应,这有助于有效管理负载并向客户端发出信号,以相应调整请求速率从而实现更顺畅的运行。

配置示例

rate_limit_status 429;

确保指定的状态码是有效的 HTTP 状态码;否则,可能导致意外行为。

请记得正确配置速率限制上下文(例如,rate_limitrate_limit_pass),以便看到该指令的效果。

如果在不同上下文中定义了多个 rate_limit_status 指令,则以最具体的那个为准。注意覆盖行为。

← 返回所有指令