模块 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 |
|---|---|
| 默认: |
slice 0; |
| 语境: |
http, server,location |
设置size切片的 。零值禁止将响应分割成切片。请注意,太低的值可能会导致内存使用过多并打开大量文件。
为了使子请求返回所需的范围,$slice_range应该将该变量
作为请求标头字段传递到代理服务器Range。如果
启用缓存$slice_range,应将其添加到
缓存键,并且应启用
对具有 206 状态代码的响应的缓存
。
嵌入变量
该ngx_http_slice_module模块支持以下嵌入变量:
$slice_range- HTTP 字节范围格式
的当前切片范围
,例如
bytes=0-1048575.
