comparison auto/modules @ 6317:29f35e60840b

Slice filter. Splits a request into subrequests, each providing a specific range of response. The variable "$slice_range" must be used to set subrequest range and proper cache key. The directive "slice" sets slice size. The following example splits requests into 1-megabyte cacheable subrequests. server { listen 8000; 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://127.0.0.1:9000; } }
author Roman Arutyunyan <arut@nginx.com>
date Mon, 07 Dec 2015 16:30:48 +0300
parents 257b51c37c5a
children c529555949b7
comparison
equal deleted inserted replaced
6316:f44de0d12143 6317:29f35e60840b
67 HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS" 67 HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
68 fi 68 fi
69 69
70 70
71 if [ $HTTP_SSI = YES ]; then 71 if [ $HTTP_SSI = YES ]; then
72 HTTP_POSTPONE=YES
73 fi
74
75
76 if [ $HTTP_SLICE = YES ]; then
72 HTTP_POSTPONE=YES 77 HTTP_POSTPONE=YES
73 fi 78 fi
74 79
75 80
76 if [ $HTTP_ADDITION = YES ]; then 81 if [ $HTTP_ADDITION = YES ]; then
108 # ngx_http_userid_filter 113 # ngx_http_userid_filter
109 # ngx_http_headers_filter 114 # ngx_http_headers_filter
110 # ngx_http_copy_filter 115 # ngx_http_copy_filter
111 # ngx_http_range_body_filter 116 # ngx_http_range_body_filter
112 # ngx_http_not_modified_filter 117 # ngx_http_not_modified_filter
118 # ngx_http_slice_filter
113 119
114 HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \ 120 HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
115 $HTTP_HEADER_FILTER_MODULE \ 121 $HTTP_HEADER_FILTER_MODULE \
116 $HTTP_CHUNKED_FILTER_MODULE" 122 $HTTP_CHUNKED_FILTER_MODULE"
117 123
175 fi 181 fi
176 182
177 if [ $HTTP_USERID = YES ]; then 183 if [ $HTTP_USERID = YES ]; then
178 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE" 184 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
179 HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS" 185 HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
186 fi
187
188 if [ $HTTP_SLICE = YES ]; then
189 HTTP_SRCS="$HTTP_SRCS $HTTP_SLICE_SRCS"
190 else
191 HTTP_SLICE_FILTER_MODULE=""
180 fi 192 fi
181 193
182 194
183 if [ $HTTP_V2 = YES ]; then 195 if [ $HTTP_V2 = YES ]; then
184 have=NGX_HTTP_V2 . auto/have 196 have=NGX_HTTP_V2 . auto/have
459 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \ 471 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
460 $HTTP_HEADERS_FILTER_MODULE \ 472 $HTTP_HEADERS_FILTER_MODULE \
461 $HTTP_AUX_FILTER_MODULES \ 473 $HTTP_AUX_FILTER_MODULES \
462 $HTTP_COPY_FILTER_MODULE \ 474 $HTTP_COPY_FILTER_MODULE \
463 $HTTP_RANGE_BODY_FILTER_MODULE \ 475 $HTTP_RANGE_BODY_FILTER_MODULE \
464 $HTTP_NOT_MODIFIED_FILTER_MODULE" 476 $HTTP_NOT_MODIFIED_FILTER_MODULE \
477 $HTTP_SLICE_FILTER_MODULE"
465 478
466 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)" 479 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
467 fi 480 fi
468 481
469 482