]> git.kaiwu.me - nginx.git/commit
Upstream: don't consider default_port when matching upstreams.
authorRuslan Ermilov <ru@nginx.com>
Mon, 17 Oct 2016 11:27:45 +0000 (14:27 +0300)
committerRuslan Ermilov <ru@nginx.com>
Mon, 17 Oct 2016 11:27:45 +0000 (14:27 +0300)
commit663984fe2f612d6e436dbbd8445e8e10b2850884
treed71eed9639e5127f8898bdf0a24706abb004ea3d
parent1f5d97cbf0005f7c8c6f15888ea5c36318da920a
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.
src/http/ngx_http_upstream.c