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