fix fastcgi and memcached upstreams
diff --git a/src/http/modules/ngx_http_fastcgi_module.c b/src/http/modules/ngx_http_fastcgi_module.c
index ab21477..fdefb83 100644
--- a/src/http/modules/ngx_http_fastcgi_module.c
+++ b/src/http/modules/ngx_http_fastcgi_module.c
@@ -2010,6 +2010,7 @@
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);
diff --git a/src/http/modules/ngx_http_memcached_module.c b/src/http/modules/ngx_http_memcached_module.c
index bd8b837..5265c38 100644
--- a/src/http/modules/ngx_http_memcached_module.c
+++ b/src/http/modules/ngx_http_memcached_module.c
@@ -583,6 +583,7 @@
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 */
diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c
index 2095f6a..dbca2ab 100644
--- a/src/http/modules/ngx_http_proxy_module.c
+++ b/src/http/modules/ngx_http_proxy_module.c
@@ -2159,6 +2159,7 @@
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;
diff --git a/src/http/ngx_http_upstream_round_robin.c b/src/http/ngx_http_upstream_round_robin.c
index c7ec7ab..82173e4 100644
--- a/src/http/ngx_http_upstream_round_robin.c
+++ b/src/http/ngx_http_upstream_round_robin.c
@@ -69,13 +69,20 @@
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)