comparison src/http/modules/ngx_http_proxy_module.c @ 212:56688ed172c8 NGINX_0_3_53

nginx 0.3.53 *) 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.
author Igor Sysoev <http://sysoev.ru>
date Fri, 07 Jul 2006 00:00:00 +0400
parents 3866d57d9cfd
children 0ad9eeb6ac7f
comparison
equal deleted inserted replaced
211:f04a54878110 212:56688ed172c8
1518 u_char *p; 1518 u_char *p;
1519 size_t size; 1519 size_t size;
1520 uintptr_t *code; 1520 uintptr_t *code;
1521 ngx_str_t *header; 1521 ngx_str_t *header;
1522 ngx_uint_t i, j; 1522 ngx_uint_t i, j;
1523 ngx_peer_t *peer;
1523 ngx_array_t hide_headers; 1524 ngx_array_t hide_headers;
1524 ngx_keyval_t *src, *s, *h; 1525 ngx_keyval_t *src, *s, *h;
1525 ngx_hash_key_t *hk; 1526 ngx_hash_key_t *hk;
1526 ngx_hash_init_t hash; 1527 ngx_hash_init_t hash;
1527 ngx_http_proxy_redirect_t *pr; 1528 ngx_http_proxy_redirect_t *pr;
1645 prev->upstream.next_upstream, 1646 prev->upstream.next_upstream,
1646 (NGX_CONF_BITMASK_SET 1647 (NGX_CONF_BITMASK_SET
1647 |NGX_HTTP_UPSTREAM_FT_ERROR 1648 |NGX_HTTP_UPSTREAM_FT_ERROR
1648 |NGX_HTTP_UPSTREAM_FT_TIMEOUT)); 1649 |NGX_HTTP_UPSTREAM_FT_TIMEOUT));
1649 1650
1650 ngx_conf_merge_unsigned_value(conf->upstream.max_fails, 1651 ngx_conf_merge_uint_value(conf->upstream.max_fails,
1651 prev->upstream.max_fails, 1); 1652 prev->upstream.max_fails, 1);
1652 1653
1653 ngx_conf_merge_sec_value(conf->upstream.fail_timeout, 1654 ngx_conf_merge_sec_value(conf->upstream.fail_timeout,
1654 prev->upstream.fail_timeout, 10); 1655 prev->upstream.fail_timeout, 10);
1655 1656
1656 if (conf->upstream_peers && !conf->upstream_peers->balanced) { 1657 if (conf->upstream_peers) {
1658 peer = conf->upstream_peers->peers->peer;
1657 for (i = 0; i < conf->upstream_peers->peers->number; i++) { 1659 for (i = 0; i < conf->upstream_peers->peers->number; i++) {
1658 conf->upstream_peers->peers->peer[i].weight = 1; 1660 ngx_conf_init_uint_value(peer[i].weight, 1);
1659 conf->upstream_peers->peers->peer[i].max_fails = 1661 peer[i].current_weight = peer[i].weight;
1660 conf->upstream.max_fails; 1662 ngx_conf_init_uint_value(peer[i].max_fails,
1661 conf->upstream_peers->peers->peer[i].fail_timeout = 1663 conf->upstream.max_fails);
1662 conf->upstream.fail_timeout; 1664 ngx_conf_init_value(peer[i].fail_timeout,
1665 conf->upstream.fail_timeout);
1663 } 1666 }
1664 } 1667 }
1665 1668
1666 ngx_conf_merge_path_value(conf->upstream.temp_path, 1669 ngx_conf_merge_path_value(conf->upstream.temp_path,
1667 prev->upstream.temp_path, 1670 prev->upstream.temp_path,