rate_limit_connect_timeout
设置在使用 Redis 进行速率限制时接收连接响应的超时时间。
Redis backed rate limit module for Nginx
·
httpserverlocation
语法rate_limit_connect_timeout timeout_value;
默认值none
上下文http, server, location
参数1
说明
rate_limit_connect_timeout 指令(位于 NGINX 的基于 Redis 的速率限制模块中)指定用于建立到用于速率限制的 Redis 服务器连接时的最大时长(以秒为单位)。该值直接决定了当请求超过配置的速率限制时 NGINX 将尝试连接 Redis 实例的时间长度。合适的超时时间非常重要,因为它可确保用户不会因与 Redis 的连接问题而遭遇过长的响应延迟。如果达到超时时间仍未建立连接,NGINX 将返回错误响应,而不是继续等待。
该指令可在 http、server 或 location 上下文中配置,根据配置需求提供灵活性。由于它只接受一个参数,指定的超时时长应为表示秒数的整数值。例如,值为 5 将把超时设置为五秒,这意味着 NGINX 在该时长后若仍未成功建立到 Redis 的连接就会放弃。这在生产环境中尤其有用,在那里连接延迟可能严重影响用户体验。
配置示例
rate_limit_connect_timeout 5;
⚠
确保超时值被适当设置,以在性能和用户体验之间取得平衡。
⚠
如果 Redis 在高负载下无响应,将超时设置得过低可能导致频繁的连接错误。
⚠
该指令必须与基于 Redis 的速率限制设置一起使用;否则不会生效。