diff src/http/modules/ngx_http_scgi_module.c @ 6747:20eb4587225b

Upstream: handling of proxy_set_header at http level. When headers are set at the "http" level and not redefined in a server block, we now preserve conf->headers into the "http" section configuration to inherit it to all servers. The same applies to conf->headers_cache, though it may not be effective if no servers use cache at the "server" level as conf->headers_cache is only initialized if cache is enabled on a given level. Similar changes made in fastcgi/scgi/uwsgi to preserve conf->params and conf->params_cache.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 14 Oct 2016 19:48:26 +0300
parents 1d0e03db9f8e
children 1af120241cde
line wrap: on
line diff
--- a/src/http/modules/ngx_http_scgi_module.c
+++ b/src/http/modules/ngx_http_scgi_module.c
@@ -1558,6 +1558,20 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t 
 
 #endif
 
+    /*
+     * special handling to preserve conf->params in the "http" section
+     * to inherit it to all servers
+     */
+
+    if (prev->params.hash.buckets == NULL
+        && conf->params_source == prev->params_source)
+    {
+        prev->params = conf->params;
+#if (NGX_HTTP_CACHE)
+        prev->params_cache = conf->params_cache;
+#endif
+    }
+
     return NGX_CONF_OK;
 }