comparison src/http/ngx_http_upstream.c @ 6787:640e1e778de6

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; }
author Ruslan Ermilov <ru@nginx.com>
date Mon, 17 Oct 2016 14:14:02 +0300
parents 906ac20234ed
children 3fa5983b6b44
comparison
equal deleted inserted replaced
6786:906ac20234ed 6787:640e1e778de6
5766 continue; 5766 continue;
5767 } 5767 }
5768 5768
5769 if (flags & NGX_HTTP_UPSTREAM_CREATE) { 5769 if (flags & NGX_HTTP_UPSTREAM_CREATE) {
5770 uscfp[i]->flags = flags; 5770 uscfp[i]->flags = flags;
5771 uscfp[i]->port = 0;
5772 uscfp[i]->default_port = 0;
5771 } 5773 }
5772 5774
5773 return uscfp[i]; 5775 return uscfp[i];
5774 } 5776 }
5775 5777