comparison src/http/ngx_http_upstream.c @ 398:9d81578d04bb NGINX_0_7_11

nginx 0.7.11 *) Change: now ngx_http_charset_module does not work by default with text/css MIME type. *) Feature: now nginx returns the 405 status code for POST method requesting a static file only if the file exists. *) Feature: the "proxy_ssl_session_reuse" directive. *) Bugfix: a "proxy_pass" directive without URI part might use original request after the "X-Accel-Redirect" redirection was used; *) Bugfix: if a directory has search only rights and the first index file was absent, then nginx returned the 500 status code. *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1.
author Igor Sysoev <http://sysoev.ru>
date Mon, 18 Aug 2008 00:00:00 +0400
parents 34fb3a573548
children a8e3f1441eec
comparison
equal deleted inserted replaced
397:47d42325b5fd 398:9d81578d04bb
787 } 787 }
788 788
789 c->sendfile = 0; 789 c->sendfile = 0;
790 u->output.sendfile = 0; 790 u->output.sendfile = 0;
791 791
792 if (u->peer.set_session(&u->peer, u->peer.data) != NGX_OK) { 792 if (u->conf->ssl_session_reuse) {
793 ngx_http_upstream_finalize_request(r, u, 793 if (u->peer.set_session(&u->peer, u->peer.data) != NGX_OK) {
794 NGX_HTTP_INTERNAL_SERVER_ERROR); 794 ngx_http_upstream_finalize_request(r, u,
795 return; 795 NGX_HTTP_INTERNAL_SERVER_ERROR);
796 return;
797 }
796 } 798 }
797 799
798 r->connection->log->action = "SSL handshaking to upstream"; 800 r->connection->log->action = "SSL handshaking to upstream";
799 801
800 rc = ngx_ssl_handshake(c); 802 rc = ngx_ssl_handshake(c);
817 r = c->data; 819 r = c->data;
818 u = r->upstream; 820 u = r->upstream;
819 821
820 if (c->ssl->handshaked) { 822 if (c->ssl->handshaked) {
821 823
822 u->peer.save_session(&u->peer, u->peer.data); 824 if (u->conf->ssl_session_reuse) {
825 u->peer.save_session(&u->peer, u->peer.data);
826 }
823 827
824 c->write->handler = ngx_http_upstream_send_request_handler; 828 c->write->handler = ngx_http_upstream_send_request_handler;
825 c->read->handler = ngx_http_upstream_process_header; 829 c->read->handler = ngx_http_upstream_process_header;
826 830
827 ngx_http_upstream_send_request(r, u); 831 ngx_http_upstream_send_request(r, u);
1298 1302
1299 if (r->method != NGX_HTTP_HEAD) { 1303 if (r->method != NGX_HTTP_HEAD) {
1300 r->method = NGX_HTTP_GET; 1304 r->method = NGX_HTTP_GET;
1301 } 1305 }
1302 1306
1307 r->valid_unparsed_uri = 0;
1308
1303 ngx_http_internal_redirect(r, uri, &args); 1309 ngx_http_internal_redirect(r, uri, &args);
1304 return; 1310 return;
1305 } 1311 }
1306 1312
1307 part = &u->headers_in.headers.part; 1313 part = &u->headers_in.headers.part;