模块 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
.