Slice#
The module is a filter that splits a request into subrequests, each returning a certain range of response. The filter provides more effective caching of big responses.
When building from the source code,
this module isn't built by default;
it should be enabled with the
‑‑with‑http_slice_module
build option.
In packages and images from our repos,
the module is included in the build. In this example, the response is split into 1-megabyte cacheable slices. Sets the size of the slice. The zero value disables splitting responses into slices. Warning Note that a too low value may result in excessive memory usage and opening a large number of files. In order for a subrequest to return the required range, the $slice_range variable should be passed to the proxied server as the "Range" request header field. If caching is enabled, $slice_range should be added to the cache key and caching of responses with 206 status code should be enabled. the current slice range in HTTP byte range format, for example, bytes=0-1048575.Configuration Example#
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;
}
Directives#
slice#
Built-in Variables#
$slice_range
#