comparison src/http/modules/ngx_http_fastcgi_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
418 ngx_conf_set_num_slot, 418 ngx_conf_set_num_slot,
419 NGX_HTTP_LOC_CONF_OFFSET, 419 NGX_HTTP_LOC_CONF_OFFSET,
420 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_min_uses), 420 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_min_uses),
421 NULL }, 421 NULL },
422 422
423 { ngx_string("fastcgi_cache_max_range_offset"),
424 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
425 ngx_conf_set_off_slot,
426 NGX_HTTP_LOC_CONF_OFFSET,
427 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_max_range_offset),
428 NULL },
429
423 { ngx_string("fastcgi_cache_use_stale"), 430 { ngx_string("fastcgi_cache_use_stale"),
424 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE, 431 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE,
425 ngx_conf_set_bitmask_slot, 432 ngx_conf_set_bitmask_slot,
426 NGX_HTTP_LOC_CONF_OFFSET, 433 NGX_HTTP_LOC_CONF_OFFSET,
427 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_use_stale), 434 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_use_stale),
2752 conf->upstream.pass_request_body = NGX_CONF_UNSET; 2759 conf->upstream.pass_request_body = NGX_CONF_UNSET;
2753 2760
2754 #if (NGX_HTTP_CACHE) 2761 #if (NGX_HTTP_CACHE)
2755 conf->upstream.cache = NGX_CONF_UNSET; 2762 conf->upstream.cache = NGX_CONF_UNSET;
2756 conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT; 2763 conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT;
2764 conf->upstream.cache_max_range_offset = NGX_CONF_UNSET;
2757 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; 2765 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR;
2758 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; 2766 conf->upstream.no_cache = NGX_CONF_UNSET_PTR;
2759 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; 2767 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR;
2760 conf->upstream.cache_lock = NGX_CONF_UNSET; 2768 conf->upstream.cache_lock = NGX_CONF_UNSET;
2761 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; 2769 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC;
2996 return NGX_CONF_ERROR; 3004 return NGX_CONF_ERROR;
2997 } 3005 }
2998 3006
2999 ngx_conf_merge_uint_value(conf->upstream.cache_min_uses, 3007 ngx_conf_merge_uint_value(conf->upstream.cache_min_uses,
3000 prev->upstream.cache_min_uses, 1); 3008 prev->upstream.cache_min_uses, 1);
3009
3010 ngx_conf_merge_off_value(conf->upstream.cache_max_range_offset,
3011 prev->upstream.cache_max_range_offset,
3012 NGX_MAX_OFF_T_VALUE);
3001 3013
3002 ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale, 3014 ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale,
3003 prev->upstream.cache_use_stale, 3015 prev->upstream.cache_use_stale,
3004 (NGX_CONF_BITMASK_SET 3016 (NGX_CONF_BITMASK_SET
3005 |NGX_HTTP_UPSTREAM_FT_OFF)); 3017 |NGX_HTTP_UPSTREAM_FT_OFF));