mirror of
https://github.com/nginx/nginx.git
synced 2025-02-25 18:55:26 -06:00
Upstream: consistently initialize explicit upstreams.
When an upstream{} block follows a proxy_pass reference to it, such an upstream inherited port and default_port settings from proxy_pass. This was different from when they came in another order (see ticket #1059). Explicit upstreams should not have port and default_port in any case. This fixes the following case: server { location / { proxy_pass http://u; } ... } upstream u { server 127.0.0.1; } server { location / { proxy_pass https://u; } ... } but not the following: server { location / { proxy_pass http://u; } ... } server { location / { proxy_pass https://u; } ... } upstream u { server 127.0.0.1; }
This commit is contained in:
parent
149fda55f7
commit
1f5d97cbf0
@ -5768,6 +5768,8 @@ ngx_http_upstream_add(ngx_conf_t *cf, ngx_url_t *u, ngx_uint_t flags)
|
||||
|
||||
if (flags & NGX_HTTP_UPSTREAM_CREATE) {
|
||||
uscfp[i]->flags = flags;
|
||||
uscfp[i]->port = 0;
|
||||
uscfp[i]->default_port = 0;
|
||||
}
|
||||
|
||||
return uscfp[i];
|
||||
|
Loading…
Reference in New Issue
Block a user