summaryrefslogtreecommitdiffhomepage
path: root/src/http/ngx_http_upstream_round_robin.c
diff options
context:
space:
mode:
authorDmitry Volyntsev <xeioex@nginx.com>2016-03-17 18:42:31 +0300
committerAleksei Bavshin <a.bavshin@f5.com>2024-11-07 07:57:42 -0800
commit9fe119b431c957824d7bed75fce47dfbda74ca33 (patch)
treedd1f22fcba96544d8b15151b3309bfb3037c1d0a /src/http/ngx_http_upstream_round_robin.c
parentdb6870e06dde7ab249e9a41a0e0a76219f82dd8c (diff)
downloadnginx-9fe119b431c957824d7bed75fce47dfbda74ca33.tar.gz
nginx-9fe119b431c957824d7bed75fce47dfbda74ca33.tar.bz2
Upstream: construct upstream peers from DNS SRV records.
Diffstat (limited to 'src/http/ngx_http_upstream_round_robin.c')
-rw-r--r--src/http/ngx_http_upstream_round_robin.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/http/ngx_http_upstream_round_robin.c b/src/http/ngx_http_upstream_round_robin.c
index cc1b6d1a2..5dbd4e626 100644
--- a/src/http/ngx_http_upstream_round_robin.c
+++ b/src/http/ngx_http_upstream_round_robin.c
@@ -176,6 +176,7 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf,
}
peer[n].host->name = server[i].host;
+ peer[n].host->service = server[i].service;
peer[n].sockaddr = server[i].addrs[0].sockaddr;
peer[n].socklen = server[i].addrs[0].socklen;
@@ -245,7 +246,15 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf,
}
}
- if (n + r == 0) {
+ if (n == 0
+#if (NGX_HTTP_UPSTREAM_ZONE)
+ && !resolve
+#endif
+ ) {
+ return NGX_OK;
+ }
+
+ if (n + r == 0 && !(us->flags & NGX_HTTP_UPSTREAM_BACKUP)) {
return NGX_OK;
}
@@ -293,6 +302,7 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf,
}
peer[n].host->name = server[i].host;
+ peer[n].host->service = server[i].service;
peer[n].sockaddr = server[i].addrs[0].sockaddr;
peer[n].socklen = server[i].addrs[0].socklen;