diff options
| author | Ruslan Ermilov <ru@nginx.com> | 2016-10-17 14:27:45 +0300 |
|---|---|---|
| committer | Ruslan Ermilov <ru@nginx.com> | 2016-10-17 14:27:45 +0300 |
| commit | 663984fe2f612d6e436dbbd8445e8e10b2850884 (patch) | |
| tree | d71eed9639e5127f8898bdf0a24706abb004ea3d | |
| parent | 1f5d97cbf0005f7c8c6f15888ea5c36318da920a (diff) | |
| download | nginx-663984fe2f612d6e436dbbd8445e8e10b2850884.tar.gz nginx-663984fe2f612d6e436dbbd8445e8e10b2850884.tar.bz2 | |
Upstream: don't consider default_port when matching upstreams.
The only thing that default_port comparison did in the current
code is prevented implicit upstreams to the same address/port
from being aliased for http and https, e.g.:
proxy_pass http://10.0.0.1:12345;
proxy_pass https://10.0.0.1:12345;
This is inconsistent because it doesn't work for a similar case
with uswgi_pass:
uwsgi_pass uwsgi://10.0.0.1:12345;
uwsgi_pass suwsgi://10.0.0.1:12345;
or with an explicit upstream:
upstream u {
server 10.0.0.1:12345;
}
proxy_pass http://u;
proxy_pass https://u;
Before c9059bd5445b, default_port comparison was needed to
differentiate implicit upstreams in
proxy_pass http://example.com;
and
proxy_pass https://example.com;
as u->port was not set.
| -rw-r--r-- | src/http/ngx_http_upstream.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index 828b7d726..6e5cab8ed 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -5760,12 +5760,6 @@ ngx_http_upstream_add(ngx_conf_t *cf, ngx_url_t *u, ngx_uint_t flags) continue; } - if (uscfp[i]->default_port && u->default_port - && uscfp[i]->default_port != u->default_port) - { - continue; - } - if (flags & NGX_HTTP_UPSTREAM_CREATE) { uscfp[i]->flags = flags; uscfp[i]->port = 0; |
