diff src/http/ngx_http_upstream.c @ 1683:1e0b028055ec

allow to use IP addresses without defined resolver
author Igor Sysoev <igor@sysoev.ru>
date Mon, 03 Dec 2007 10:05:19 +0000
parents 13f8dec720b5
children f4eb04fd8579
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -398,13 +398,6 @@ ngx_http_upstream_init(ngx_http_request_
             }
         }
 
-        if (clcf->resolver == NULL) {
-            ngx_log_error(NGX_LOG_ERR, c->log, 0,
-                          "no resolver defined to resolve %V", host);
-            ngx_http_finalize_request(r, NGX_HTTP_BAD_GATEWAY);
-            return;
-        }
-
         temp.name = *host;
 
         ctx = ngx_resolve_start(clcf->resolver, &temp);
@@ -413,6 +406,14 @@ ngx_http_upstream_init(ngx_http_request_
             return;
         }
 
+        if (ctx == NGX_NO_RESOLVER) {
+            ngx_log_error(NGX_LOG_ERR, c->log, 0,
+                          "no resolver defined to resolve %V", host);
+
+            ngx_http_finalize_request(r, NGX_HTTP_BAD_GATEWAY);
+            return;
+        }
+
         ctx->name = *host;
         ctx->type = NGX_RESOLVE_A;
         ctx->handler = ngx_http_upstream_resolve_handler;