Slice#
该模块是一个过滤器,将请求拆分为子请求,每个子请求返回特定范围的响应。该过滤器提供了更有效的大响应缓存。
当 从源代码构建 时,该模块默认不会被构建;必须通过
构建选项 --with-http_slice_module 启用它。
在来自 我们的软件仓库 的包和镜像中,该模块已包含在
构建中。 在此示例中,响应被分割为 1 兆字节可缓存的切片。 设置切片的大小。零值将禁用将响应分割为切片。 警告 请注意,值过低可能导致过多的内存使用和打开大量文件。 为了使子请求返回所需的范围,应该将 $slice_range 变量作为 以 HTTP字节范围 格式表示的当前切片范围,例如,配置示例#
location / {
slice 1m;
proxy_cache cache;
proxy_cache_key $uri$is_args$args$slice_range;
proxy_set_header Range $slice_range;
proxy_cache_valid 200 206 1h;
proxy_pass http://localhost:8000;
}
指令#
slice#
Range请求头字段传递给代理服务器。如果启用了 缓存,应将 $slice_range 添加到 缓存键 中,并应 启用 对状态码为 206 的响应的缓存。内置变量#
$slice_range#bytes=0-1048575。