Nginx

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