mirror of
https://github.com/nginx/nginx.git
synced 2026-10-22 20:11:17 +00:00
Upstream: detect port absence in fastcgi_pass with IP literal.
If fastcgi_pass (or any look-alike that doesn't imply a default
port) is specified as an IP literal (as opposed to a hostname),
port absence was not detected at configuration time and could
result in EADDRNOTAVAIL at run time.
Fixed this in such a way that configs like
http {
server {
location / {
fastcgi_pass 127.0.0.1;
}
}
upstream 127.0.0.1 {
server 10.0.0.1:12345;
}
}
still work. That is, port absence check is delayed until after
we make sure there's no explicit upstream with such a name.
This commit is contained in:
parent
917c47a918
commit
3352461916
1 changed files with 1 additions and 1 deletions
|
|
@ -5408,7 +5408,7 @@ ngx_http_upstream_add(ngx_conf_t *cf, ngx_url_t *u, ngx_uint_t flags)
|
|||
uscf->default_port = u->default_port;
|
||||
uscf->no_port = u->no_port;
|
||||
|
||||
if (u->naddrs == 1) {
|
||||
if (u->naddrs == 1 && (u->port || u->family == AF_UNIX)) {
|
||||
uscf->servers = ngx_array_create(cf->pool, 1,
|
||||
sizeof(ngx_http_upstream_server_t));
|
||||
if (uscf->servers == NULL) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue