> Module ngx_http_slice_module

ngx_http_slice_module模块(1.9.8)是一个过滤器,用于将请求分为多个子请求,每个子请求都返回一定范围的响应。筛选器可为大响应提供更有效的缓存。

默认情况下未构建此模块,应使用--with-http_slice_module配置参数启用它。

Example Configuration

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 兆字节的可缓存片。

Directives

Syntax:slice size;
Default:slice 0;
Context:http , server , location

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

为了使子请求返回所需的范围,$slice_range变量应作为Range请求 Headers 字段输入到代理服务器passed。如果启用了caching,则应将$slice_range添加到cache key,并且将具有 206 状态代码的响应的缓存应为enabled

Embedded Variables

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

$slice_range