From 1765f475445a054994611d2053cc181fb3504615 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Fri, 7 Jul 2006 16:33:19 +0000 Subject: nginx-0.3.53-RELEASE import *) Change: the "add_header" directive adds the string to 204, 301, and 302 responses. *) Feature: the "server" directive in the "upstream" context supports the "weight" parameter. *) Feature: the "server_name" directive supports the "*" wildcard. *) Feature: nginx supports the request body size more than 2G. *) Bugfix: if a client was successfully authorized using "satisfy_any on", then anyway the message "access forbidden by rule" was written in the log. *) Bugfix: the "PUT" method may erroneously not create a file and return the 409 code. *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx continued proxying anyway. --- src/http/modules/ngx_http_proxy_module.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/http/modules/ngx_http_proxy_module.c') diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c index f14151ae8..ff5b129a8 100644 --- a/src/http/modules/ngx_http_proxy_module.c +++ b/src/http/modules/ngx_http_proxy_module.c @@ -1520,6 +1520,7 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) uintptr_t *code; ngx_str_t *header; ngx_uint_t i, j; + ngx_peer_t *peer; ngx_array_t hide_headers; ngx_keyval_t *src, *s, *h; ngx_hash_key_t *hk; @@ -1647,19 +1648,21 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child) |NGX_HTTP_UPSTREAM_FT_ERROR |NGX_HTTP_UPSTREAM_FT_TIMEOUT)); - ngx_conf_merge_unsigned_value(conf->upstream.max_fails, + ngx_conf_merge_uint_value(conf->upstream.max_fails, prev->upstream.max_fails, 1); ngx_conf_merge_sec_value(conf->upstream.fail_timeout, prev->upstream.fail_timeout, 10); - if (conf->upstream_peers && !conf->upstream_peers->balanced) { + if (conf->upstream_peers) { + peer = conf->upstream_peers->peers->peer; for (i = 0; i < conf->upstream_peers->peers->number; i++) { - conf->upstream_peers->peers->peer[i].weight = 1; - conf->upstream_peers->peers->peer[i].max_fails = - conf->upstream.max_fails; - conf->upstream_peers->peers->peer[i].fail_timeout = - conf->upstream.fail_timeout; + ngx_conf_init_uint_value(peer[i].weight, 1); + peer[i].current_weight = peer[i].weight; + ngx_conf_init_uint_value(peer[i].max_fails, + conf->upstream.max_fails); + ngx_conf_init_value(peer[i].fail_timeout, + conf->upstream.fail_timeout); } } -- cgit