Mercurial > hg > nginx
comparison src/http/modules/ngx_http_proxy_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 |
---|---|
488 { ngx_string("proxy_cache_min_uses"), | 488 { ngx_string("proxy_cache_min_uses"), |
489 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | 489 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
490 ngx_conf_set_num_slot, | 490 ngx_conf_set_num_slot, |
491 NGX_HTTP_LOC_CONF_OFFSET, | 491 NGX_HTTP_LOC_CONF_OFFSET, |
492 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_min_uses), | 492 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_min_uses), |
493 NULL }, | |
494 | |
495 { ngx_string("proxy_cache_max_range_offset"), | |
496 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | |
497 ngx_conf_set_off_slot, | |
498 NGX_HTTP_LOC_CONF_OFFSET, | |
499 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_max_range_offset), | |
493 NULL }, | 500 NULL }, |
494 | 501 |
495 { ngx_string("proxy_cache_use_stale"), | 502 { ngx_string("proxy_cache_use_stale"), |
496 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE, | 503 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE, |
497 ngx_conf_set_bitmask_slot, | 504 ngx_conf_set_bitmask_slot, |
2845 conf->upstream.pass_request_body = NGX_CONF_UNSET; | 2852 conf->upstream.pass_request_body = NGX_CONF_UNSET; |
2846 | 2853 |
2847 #if (NGX_HTTP_CACHE) | 2854 #if (NGX_HTTP_CACHE) |
2848 conf->upstream.cache = NGX_CONF_UNSET; | 2855 conf->upstream.cache = NGX_CONF_UNSET; |
2849 conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT; | 2856 conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT; |
2857 conf->upstream.cache_max_range_offset = NGX_CONF_UNSET; | |
2850 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; | 2858 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; |
2851 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; | 2859 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; |
2852 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; | 2860 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; |
2853 conf->upstream.cache_lock = NGX_CONF_UNSET; | 2861 conf->upstream.cache_lock = NGX_CONF_UNSET; |
2854 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; | 2862 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; |
3105 return NGX_CONF_ERROR; | 3113 return NGX_CONF_ERROR; |
3106 } | 3114 } |
3107 | 3115 |
3108 ngx_conf_merge_uint_value(conf->upstream.cache_min_uses, | 3116 ngx_conf_merge_uint_value(conf->upstream.cache_min_uses, |
3109 prev->upstream.cache_min_uses, 1); | 3117 prev->upstream.cache_min_uses, 1); |
3118 | |
3119 ngx_conf_merge_off_value(conf->upstream.cache_max_range_offset, | |
3120 prev->upstream.cache_max_range_offset, | |
3121 NGX_MAX_OFF_T_VALUE); | |
3110 | 3122 |
3111 ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale, | 3123 ngx_conf_merge_bitmask_value(conf->upstream.cache_use_stale, |
3112 prev->upstream.cache_use_stale, | 3124 prev->upstream.cache_use_stale, |
3113 (NGX_CONF_BITMASK_SET | 3125 (NGX_CONF_BITMASK_SET |
3114 |NGX_HTTP_UPSTREAM_FT_OFF)); | 3126 |NGX_HTTP_UPSTREAM_FT_OFF)); |