mirror of
https://github.com/nginx/nginx.git
synced 2025-07-31 18:46:15 +08:00
Upstream: hide_headers_hash handling at http level.
When headers to hide are set at the "http" level and not redefined in a server block, we now preserve compiled headers hash into the "http" section configuration to inherit this hash to all servers.
This commit is contained in:
parent
f5dcb06f28
commit
c541cf70cf
@ -6106,7 +6106,23 @@ ngx_http_upstream_hide_headers_hash(ngx_conf_t *cf,
|
|||||||
hash->pool = cf->pool;
|
hash->pool = cf->pool;
|
||||||
hash->temp_pool = NULL;
|
hash->temp_pool = NULL;
|
||||||
|
|
||||||
return ngx_hash_init(hash, hide_headers.elts, hide_headers.nelts);
|
if (ngx_hash_init(hash, hide_headers.elts, hide_headers.nelts) != NGX_OK) {
|
||||||
|
return NGX_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* special handling to preserve conf->hide_headers_hash
|
||||||
|
* in the "http" section to inherit it to all servers
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (prev->hide_headers_hash.buckets == NULL
|
||||||
|
&& conf->hide_headers == prev->hide_headers
|
||||||
|
&& conf->pass_headers == prev->pass_headers)
|
||||||
|
{
|
||||||
|
prev->hide_headers_hash = conf->hide_headers_hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NGX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user