changeset 4914:dcb853acae97

Upstream: honor the "down" flag for a single server. If an upstream block was defined with the only server marked as "down", e.g. upstream u { server 127.0.0.1:8080 down; } an attempt was made to contact the server despite the "down" flag. It is believed that immediate 502 response is better in such a case, and it's also consistent with what is currently done in case of multiple servers all marked as "down".
author Ruslan Ermilov <ru@nginx.com>
date Fri, 16 Nov 2012 12:18:05 +0000
parents 002f2c783d7c
children e62219793beb
files src/http/ngx_http_upstream_round_robin.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/ngx_http_upstream_round_robin.c
+++ b/src/http/ngx_http_upstream_round_robin.c
@@ -430,6 +430,10 @@ ngx_http_upstream_get_round_robin_peer(n
     if (rrp->peers->single) {
         peer = &rrp->peers->peer[0];
 
+        if (peer->down) {
+            goto failed;
+        }
+
     } else {
 
         /* there are several peers */