mirror of
https://github.com/nginx/nginx.git
synced 2024-12-18 21:23:36 -06:00
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.
This commit is contained in:
parent
97fc4ab790
commit
948a18ed54
@ -3127,6 +3127,20 @@ ngx_http_fastcgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
|
@ -3357,6 +3357,20 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* special handling to preserve conf->headers in the "http" section
|
||||
* to inherit it to all servers
|
||||
*/
|
||||
|
||||
if (prev->headers.hash.buckets == NULL
|
||||
&& conf->headers_source == prev->headers_source)
|
||||
{
|
||||
prev->headers = conf->headers;
|
||||
#if (NGX_HTTP_CACHE)
|
||||
prev->headers_cache = conf->headers_cache;
|
||||
#endif
|
||||
}
|
||||
|
||||
return NGX_CONF_OK;
|
||||
}
|
||||
|
||||
|
@ -1558,6 +1558,20 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
|
@ -1820,6 +1820,20 @@ ngx_http_uwsgi_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user