Mercurial > hg > nginx
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)); |