Mercurial > hg > nginx
changeset 1912:68b426b43c31
fix r1903
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 03 Mar 2008 20:04:06 +0000 |
parents | ade85ba31674 |
children | c0f873458e2b |
files | src/http/modules/ngx_http_proxy_module.c src/http/ngx_http_upstream.c src/http/ngx_http_upstream.h |
diffstat | 3 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_proxy_module.c Mon Mar 03 17:12:05 2008 +0000 +++ b/src/http/modules/ngx_http_proxy_module.c Mon Mar 03 20:04:06 2008 +0000 @@ -611,6 +611,7 @@ r->upstream->resolved->host = u.host; r->upstream->resolved->port = (in_port_t) (u.no_port ? u.default_port: u.port); + r->upstream->resolved->default_port = u.default_port; return NGX_OK; }
--- a/src/http/ngx_http_upstream.c Mon Mar 03 17:12:05 2008 +0000 +++ b/src/http/ngx_http_upstream.c Mon Mar 03 20:04:06 2008 +0000 @@ -392,7 +392,8 @@ uscf = uscfp[i]; if (uscf->host.len == host->len - && uscf->port == u->resolved->port + && ((uscf->port == 0 && u->resolved->default_port) + || uscf->port == u->resolved->port) && ngx_memcmp(uscf->host.data, host->data, host->len) == 0) { goto found;
--- a/src/http/ngx_http_upstream.h Mon Mar 03 17:12:05 2008 +0000 +++ b/src/http/ngx_http_upstream.h Mon Mar 03 20:04:06 2008 +0000 @@ -201,6 +201,7 @@ typedef struct { ngx_str_t host; in_port_t port; + ngx_uint_t default_port; /* unsigned default_port:1 */ ngx_uint_t naddrs; in_addr_t *addrs; ngx_resolver_ctx_t *ctx;