模块 ngx_http_slice_module
已知问题 示例配置 Directives slice 嵌入变量 |
模块 (1.9.8) 是一个过滤器
将请求拆分为多个子请求,
每个都返回一定范围的响应。
该过滤器提供了更有效的大响应缓存。ngx_http_slice_module
默认情况下,此模块不是构建的,应使用 configuration 参数启用它。--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 的可缓存切片。
Directives
语法: |
slice |
---|---|
默认值: |
slice 0; |
上下文: |
http , ,server location |
设置切片的 。
零值禁止将响应拆分为切片。
请注意,值过低可能会导致内存使用过多
以及打开大量文件。size
为了使子请求返回所需的范围,
该变量应传递给
代理服务器作为 Request Header 字段。
如果启用了缓存,则应将其添加到缓存键中,并应启用具有 206 状态代码的响应的缓存。$slice_range
Range
$slice_range
嵌入变量
模块
支持以下嵌入变量:ngx_http_slice_module
$slice_range
- HTTP 中的当前切片范围
字节范围格式、
例如。
bytes=0-1048575