comparison src/http/ngx_http_upstream.c @ 632:5b73504dd4ba NGINX_1_1_0

nginx 1.1.0 *) Feature: cache loader run time decrease. *) Feature: "loader_files", "loader_sleep", and "loader_threshold" options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives. *) Feature: loading time decrease of configuration with large number of HTTPS sites. *) Feature: now nginx supports ECDHE key exchange ciphers. Thanks to Adrian Kotelba. *) Feature: the "lingering_close" directive. Thanks to Maxim Dounin. *) Bugfix: in closing connection for pipelined requests. Thanks to Maxim Dounin. *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in "Accept-Encoding" request header line. *) Bugfix: in timeout in unbuffered proxied mode. Thanks to Maxim Dounin. *) Bugfix: memory leaks when a "proxy_pass" directive contains variables and proxies to an HTTPS backend. Thanks to Maxim Dounin. *) Bugfix: in parameter validaiton of a "proxy_pass" directive with variables. Thanks to Lanshun Zhou. *) Bugfix: SSL did not work on QNX. Thanks to Maxim Dounin. *) Bugfix: SSL modules could not be built by gcc 4.6 without --with-debug option.
author Igor Sysoev <http://sysoev.ru>
date Mon, 01 Aug 2011 00:00:00 +0400
parents ad6fee8052d7
children eb208e0cf44d
comparison
equal deleted inserted replaced
631:9b978fa3cd33 632:5b73504dd4ba
659 659
660 /* TODO: add keys */ 660 /* TODO: add keys */
661 661
662 ngx_http_file_cache_create_key(r); 662 ngx_http_file_cache_create_key(r);
663 663
664 if (r->cache->header_start >= u->conf->buffer_size) { 664 if (r->cache->header_start + 256 >= u->conf->buffer_size) {
665 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, 665 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
666 "cache key too large, increase upstream buffer size %uz", 666 "%V_buffer_size %uz is not enough for cache key, "
667 u->conf->buffer_size); 667 "it should increased at least to %uz",
668 &u->conf->module, u->conf->buffer_size,
669 ngx_align(r->cache->header_start + 256, 1024));
668 670
669 r->cache = NULL; 671 r->cache = NULL;
670 return NGX_DECLINED; 672 return NGX_DECLINED;
671 } 673 }
672 674
2315 c->log->action = "sending to client"; 2317 c->log->action = "sending to client";
2316 2318
2317 if (wev->timedout) { 2319 if (wev->timedout) {
2318 c->timedout = 1; 2320 c->timedout = 1;
2319 ngx_connection_error(c, NGX_ETIMEDOUT, "client timed out"); 2321 ngx_connection_error(c, NGX_ETIMEDOUT, "client timed out");
2320 ngx_http_upstream_finalize_request(r, u, 0); 2322 ngx_http_upstream_finalize_request(r, u, NGX_HTTP_REQUEST_TIME_OUT);
2321 return; 2323 return;
2322 } 2324 }
2323 2325
2324 ngx_http_upstream_process_non_buffered_request(r, 1); 2326 ngx_http_upstream_process_non_buffered_request(r, 1);
2325 } 2327 }
3011 } 3013 }
3012 3014
3013 #endif 3015 #endif
3014 3016
3015 if (u->header_sent 3017 if (u->header_sent
3018 && rc != NGX_HTTP_REQUEST_TIME_OUT
3016 && (rc == NGX_ERROR || rc >= NGX_HTTP_SPECIAL_RESPONSE)) 3019 && (rc == NGX_ERROR || rc >= NGX_HTTP_SPECIAL_RESPONSE))
3017 { 3020 {
3018 rc = 0; 3021 rc = 0;
3019 } 3022 }
3020 3023