Mercurial > hg > nginx
comparison src/http/modules/ngx_http_scgi_module.c @ 6793:0fba3ed4e7eb
Cache: proxy_cache_max_range_offset and friends.
It configures a threshold in bytes, above which client range
requests are not cached. In such a case the client's Range
header is passed directly to a proxied server.
author | Dmitry Volyntsev <xeioex@nginx.com> |
---|---|
date | Wed, 02 Nov 2016 20:05:21 +0300 |
parents | d1d0dd69a419 |
children | 1aeaae6e9446 |
comparison
equal
deleted
inserted
replaced
6792:45d553812055 | 6793:0fba3ed4e7eb |
---|---|
266 { ngx_string("scgi_cache_min_uses"), | 266 { ngx_string("scgi_cache_min_uses"), |
267 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | 267 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
268 ngx_conf_set_num_slot, | 268 ngx_conf_set_num_slot, |
269 NGX_HTTP_LOC_CONF_OFFSET, | 269 NGX_HTTP_LOC_CONF_OFFSET, |
270 offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_min_uses), | 270 offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_min_uses), |
271 NULL }, | |
272 | |
273 { ngx_string("scgi_cache_max_range_offset"), | |
274 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | |
275 ngx_conf_set_off_slot, | |
276 NGX_HTTP_LOC_CONF_OFFSET, | |
277 offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_max_range_offset), | |
271 NULL }, | 278 NULL }, |
272 | 279 |
273 { ngx_string("scgi_cache_use_stale"), | 280 { ngx_string("scgi_cache_use_stale"), |
274 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE, | 281 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE, |
275 ngx_conf_set_bitmask_slot, | 282 ngx_conf_set_bitmask_slot, |
1202 conf->upstream.pass_request_body = NGX_CONF_UNSET; | 1209 conf->upstream.pass_request_body = NGX_CONF_UNSET; |
1203 | 1210 |
1204 #if (NGX_HTTP_CACHE) | 1211 #if (NGX_HTTP_CACHE) |
1205 conf->upstream.cache = NGX_CONF_UNSET; | 1212 conf->upstream.cache = NGX_CONF_UNSET; |
1206 conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT; | 1213 conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT; |
1214 conf->upstream.cache_max_range_offset = NGX_CONF_UNSET; | |
1207 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; | 1215 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; |
1208 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; | 1216 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; |
1209 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; | 1217 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; |
1210 conf->upstream.cache_lock = NGX_CONF_UNSET; | 1218 conf->upstream.cache_lock = NGX_CONF_UNSET; |
1211 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; | 1219 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; |
1441 return NGX_CONF_ERROR; | 1449 return NGX_CONF_ERROR; |
1442 } | 1450 } |
1443 | 1451 |
1444 ngx_conf_merge_uint_value(conf->upstream.cache_min_uses, | 1452 ngx_conf_merge_uint_value(conf->upstream.cache_min_uses, |
1445 prev->upstream.cache_min_uses, 1); | 1453 prev->upstream.cache_min_uses, 1); |
1454 | |
1455 ngx_conf_merge_off_value(conf->upstream.cache_max_range_offset, | |
1456 prev->upstream.cache_max_range_offset, | |
1457 NGX_MAX_OFF_T_VALUE); | |
1446 | 1458 |
1447 ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale, | 1459 ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale, |
1448 prev->upstream.cache_use_stale, | 1460 prev->upstream.cache_use_stale, |
1449 (NGX_CONF_BITMASK_SET | 1461 (NGX_CONF_BITMASK_SET |
1450 |NGX_HTTP_UPSTREAM_FT_OFF)); | 1462 |NGX_HTTP_UPSTREAM_FT_OFF)); |