Mercurial > hg > nginx
comparison src/http/modules/ngx_http_proxy_module.c @ 6290:4d5ac1a31d44
Upstream: proxy_cache_convert_head directive.
The directive toggles conversion of HEAD to GET for cacheable proxy requests.
When disabled, $request_method must be added to cache key for consistency.
By default, HEAD is converted to GET as before.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Wed, 11 Nov 2015 15:47:30 +0300 |
parents | b2899e7d0ef8 |
children | a93345ee8f52 |
comparison
equal
deleted
inserted
replaced
6289:909b5b191f25 | 6290:4d5ac1a31d44 |
---|---|
529 { ngx_string("proxy_cache_revalidate"), | 529 { ngx_string("proxy_cache_revalidate"), |
530 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 530 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, |
531 ngx_conf_set_flag_slot, | 531 ngx_conf_set_flag_slot, |
532 NGX_HTTP_LOC_CONF_OFFSET, | 532 NGX_HTTP_LOC_CONF_OFFSET, |
533 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_revalidate), | 533 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_revalidate), |
534 NULL }, | |
535 | |
536 { ngx_string("proxy_cache_convert_head"), | |
537 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | |
538 ngx_conf_set_flag_slot, | |
539 NGX_HTTP_LOC_CONF_OFFSET, | |
540 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_convert_head), | |
534 NULL }, | 541 NULL }, |
535 | 542 |
536 #endif | 543 #endif |
537 | 544 |
538 { ngx_string("proxy_temp_path"), | 545 { ngx_string("proxy_temp_path"), |
2843 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; | 2850 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; |
2844 conf->upstream.cache_lock = NGX_CONF_UNSET; | 2851 conf->upstream.cache_lock = NGX_CONF_UNSET; |
2845 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; | 2852 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; |
2846 conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; | 2853 conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; |
2847 conf->upstream.cache_revalidate = NGX_CONF_UNSET; | 2854 conf->upstream.cache_revalidate = NGX_CONF_UNSET; |
2855 conf->upstream.cache_convert_head = NGX_CONF_UNSET; | |
2848 #endif | 2856 #endif |
2849 | 2857 |
2850 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; | 2858 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; |
2851 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; | 2859 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; |
2852 | 2860 |
3140 ngx_conf_merge_msec_value(conf->upstream.cache_lock_age, | 3148 ngx_conf_merge_msec_value(conf->upstream.cache_lock_age, |
3141 prev->upstream.cache_lock_age, 5000); | 3149 prev->upstream.cache_lock_age, 5000); |
3142 | 3150 |
3143 ngx_conf_merge_value(conf->upstream.cache_revalidate, | 3151 ngx_conf_merge_value(conf->upstream.cache_revalidate, |
3144 prev->upstream.cache_revalidate, 0); | 3152 prev->upstream.cache_revalidate, 0); |
3153 | |
3154 ngx_conf_merge_value(conf->upstream.cache_convert_head, | |
3155 prev->upstream.cache_convert_head, 1); | |
3145 | 3156 |
3146 #endif | 3157 #endif |
3147 | 3158 |
3148 ngx_conf_merge_str_value(conf->method, prev->method, ""); | 3159 ngx_conf_merge_str_value(conf->method, prev->method, ""); |
3149 | 3160 |