[PATCH] Upstream: fastcgi_cache_convert_head directive.
Gena Makhomed
gmm at csdoc.com
Mon Jan 22 19:43:42 UTC 2018
# HG changeset patch
# User Gena Makhomed <gmm at csdoc.com>
# Date 1516650013 -7200
# Mon Jan 22 21:40:13 2018 +0200
# Node ID 4f635c5c8da929eb1e25bc8fbce7d7d5726468cf
# Parent cbf59d483c9cd94dc0fb05f1978601d02af69c20
Upstream: fastcgi_cache_convert_head directive.
The directive toggles conversion of HEAD to GET for cacheable fastcgi
requests.
When disabled, $request_method must be added to cache key for consistency.
By default, HEAD is converted to GET as before.
After previous patch http://hg.nginx.org/nginx/rev/4d5ac1a31d44
HEAD is not converted to GET as before for cacheable fastcgi requests.
This patch fixes fastcgi cache regression introduced
by patch http://hg.nginx.org/nginx/rev/4d5ac1a31d44
diff -r cbf59d483c9c -r 4f635c5c8da9
src/http/modules/ngx_http_fastcgi_module.c
--- a/src/http/modules/ngx_http_fastcgi_module.c Tue Jan 16
13:52:03 2018 +0300
+++ b/src/http/modules/ngx_http_fastcgi_module.c Mon Jan 22
21:40:13 2018 +0200
@@ -470,6 +470,13 @@
offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_revalidate),
NULL },
+ { ngx_string("fastcgi_cache_convert_head"),
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
+ ngx_conf_set_flag_slot,
+ NGX_HTTP_LOC_CONF_OFFSET,
+ offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_convert_head),
+ NULL },
+
{ ngx_string("fastcgi_cache_background_update"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
ngx_conf_set_flag_slot,
@@ -2781,6 +2788,7 @@
conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC;
conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC;
conf->upstream.cache_revalidate = NGX_CONF_UNSET;
+ conf->upstream.cache_convert_head = NGX_CONF_UNSET;
conf->upstream.cache_background_update = NGX_CONF_UNSET;
#endif
@@ -3074,6 +3082,9 @@
ngx_conf_merge_value(conf->upstream.cache_revalidate,
prev->upstream.cache_revalidate, 0);
+ ngx_conf_merge_value(conf->upstream.cache_convert_head,
+ prev->upstream.cache_convert_head, 1);
+
ngx_conf_merge_value(conf->upstream.cache_background_update,
prev->upstream.cache_background_update, 0);
More information about the nginx-devel
mailing list