max_ranges

'max_ranges' 指令限制 NGINX 服务器在单次响应中处理的 HTTP 范围请求数量。 — NGINX HTTP Core

max_ranges
httpserverlocation
语法max_ranges number;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

`max_ranges` 指令用于在 NGINX 中控制服务器在单个 HTTP 响应中会接受的最大范围请求数量。范围请求允许客户端请求资源的特定部分,这对恢复下载或流媒体传输很有用。通过限制可请求的范围数量,可以节省服务器资源并减轻复杂范围请求对性能的影响。 该指令在 `http`、`server` 和 `location` 上下文中定义,使其在各种配置场景中具有灵活性。当客户端发送的多范围请求超过 `max_ranges` 指定的数量时,NGINX 会返回一个 HTTP 错误,表明无法完成该请求。这有助于防止通过过多范围请求实施的潜在拒绝服务攻击,并在高负载时提高服务器稳定性。 `max_ranges` 的参数是一个整数,表示可接受的最大范围数量。例如,如果设置为 5,服务器将最多同时处理 5 个范围请求,超出的请求会被拒绝。对于媒体服务器或提供大文件的应用来说,这种配置尤其重要,因为客户端可能会尝试同时请求大量字节范围,从而导致开销增加。

配置示例

http {
    max_ranges 4;
}

将此值设置得过低可能导致客户端无法有效检索大型文件。

过高的值会给服务器资源带来压力,尤其在高负载时。