Mercurial > hg > nginx-mail
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, |