scgi_force_ranges
指令 `scgi_force_ranges` 强制对 SCGI 响应使用范围请求,从而影响数据发送给客户端的方式。 — NGINX HTTP Core
scgi_force_ranges
httpserverlocation
语法scgi_force_ranges on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag
说明
在 NGINX 中,`scgi_force_ranges` 指令用于 SCGI 模块中,指定如何处理对部分内容的请求。启用该指令(设置为 'on')后,NGINX 会在 SCGI 响应中按照 HTTP/1.1 关于范围请求的规范,对客户端针对特定字节范围的请求做出响应。这在流媒体场景中特别有用,客户端可能只需获取文件的一部分而无需完整下载。 当 `scgi_force_ranges` 设置为 'on' 时,服务器会检查客户端请求中的 `Range` 头,并尝试解析所指示的字节范围。此行为对媒体文件、大型文档或任何返回全部内容不必要或效率低下的场景都很有用。如果该指令设置为 'off',NGINX 将不会处理客户端的 Range 请求,而是返回完整内容。 该指令可以放置在 `http`、`server` 或 `location` 等不同上下文中,根据所需的部分内容传递范围实现灵活配置。但是,需要确保上游 SCGI 应用也支持范围请求,否则当客户端发起范围请求而上游服务器未正确处理时,可能会出现意外行为。
配置示例
location /example {
scgi_pass 127.0.0.1:9000;
scgi_force_ranges on;
}⚠
确保你的 SCGI 应用支持 range requests;否则,此指令将无效。
⚠
请记住,如果某些客户端发起 range requests 而服务器未正确处理,它们可能会表现异常。