changeset 896:f247db60fc85

fix fastcgi and memcached upstreams
author Igor Sysoev <igor@sysoev.ru>
date Mon, 11 Dec 2006 08:59:30 +0000
parents 49d03c183ad2
children 13416db8a807
files src/http/modules/ngx_http_fastcgi_module.c src/http/modules/ngx_http_memcached_module.c src/http/modules/ngx_http_proxy_module.c src/http/ngx_http_upstream_round_robin.c
diffstat 4 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/ngx_http_fastcgi_module.c
+++ b/src/http/modules/ngx_http_fastcgi_module.c
@@ -2010,6 +2010,7 @@ ngx_http_fastcgi_pass(ngx_conf_t *cf, ng
     ngx_memzero(&u, sizeof(ngx_url_t));
 
     u.url = value[1];
+    u.upstream = 1;
     u.no_resolve = 1;
 
     lcf->upstream.upstream = ngx_http_upstream_add(cf, &u, 0);
--- a/src/http/modules/ngx_http_memcached_module.c
+++ b/src/http/modules/ngx_http_memcached_module.c
@@ -583,6 +583,7 @@ ngx_http_memcached_pass(ngx_conf_t *cf, 
     ngx_memzero(&u, sizeof(ngx_url_t));
 
     u.url = value[1];
+    u.upstream = 1;
     u.no_resolve = 1;
     /* u.uri_part = 1;  may be used as namespace */
 
--- a/src/http/modules/ngx_http_proxy_module.c
+++ b/src/http/modules/ngx_http_proxy_module.c
@@ -2159,6 +2159,7 @@ ngx_http_proxy_pass(ngx_conf_t *cf, ngx_
     u.url.len = url->len - add;
     u.url.data = url->data + add;
     u.default_portn = port;
+    u.upstream = 1;
     u.no_resolve = 1;
     u.uri_part = 1;
 
--- a/src/http/ngx_http_upstream_round_robin.c
+++ b/src/http/ngx_http_upstream_round_robin.c
@@ -69,13 +69,20 @@ ngx_http_upstream_init_round_robin(ngx_c
     if (ngx_inet_resolve_host(cf, &u) != NGX_OK) {
         if (u.err) {
             ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
-                          "%s in upstream host \"%V\" is not found in %s:%ui",
+                          "%s in upstream \"%V\" in %s:%ui",
                           u.err, &us->host, us->file_name.data, us->line);
         }
 
         return NGX_ERROR;
     }
 
+    if (us->port == 0) {
+        ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
+                      "no port in upstream \"%V\" in %s:%ui",
+                      &us->host, us->file_name.data, us->line);
+        return NGX_ERROR;
+    }
+
     n = u.naddrs;
 
     peers = ngx_pcalloc(cf->pool, sizeof(ngx_http_upstream_rr_peers_t)