模块 ngx_http_slice_module

Example Configuration
Directives
     slice
Embedded Variables

ngx_http_slice_module模块(1.9.8)是一个过滤器,它将请求拆分为子请求,每个子请求返回一定范围的响应。该过滤器提供了更有效的大响应缓存。

该模块不是默认构建的,需要通过 --with-http_slice_module 配置参数启用。

配置示例

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;
}

在此示例中,响应被分割为 1 MB 的可缓存片。

指令

句法: slice size;
默认:
slice 0;
语境: http, server,location

设置size切片的 。零值禁止将响应分割成切片。请注意,太低的值可能会导致内存使用过多并打开大量文件。

为了使子请求返回所需的范围,$slice_range应该将该变量 作为请求标头字段传递到代理服务器Range。如果 启用缓存$slice_range,应将其添加到 缓存键,并且应启用 对具有 206 状态代码的响应的缓存 。

嵌入变量

ngx_http_slice_module模块支持以下嵌入变量:

$slice_range
HTTP 字节范围格式 的当前切片范围 ,例如bytes=0-1048575.