$upstream_addr did not contain last address, the bug was introduced in r1659
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index 63f1cf6..2a01a44 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -665,7 +665,6 @@
tp = ngx_timeofday();
u->state->response_sec = tp->sec;
u->state->response_msec = tp->msec;
- u->state->peer = u->peer.name;
rc = ngx_event_connect_peer(&u->peer);
@@ -678,6 +677,8 @@
return;
}
+ u->state->peer = u->peer.name;
+
if (rc == NGX_BUSY) {
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "no live upstreams");
ngx_http_upstream_next(r, u, NGX_HTTP_UPSTREAM_FT_NOLIVE);