Mercurial > hg > nginx-vendor-current
comparison src/http/modules/proxy/ngx_http_proxy_header.c @ 28:7ca9bdc82b3f NGINX_0_1_14
nginx 0.1.14
*) Feature: the autoconfiguration directives:
--http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
--http-fastcgi-temp-path=PATH
*) Change: the directory name for the temporary files with the client
request body is specified by directive client_body_temp_path, by
default it is <prefix>/client_body_temp.
*) Feature: the ngx_http_fastcgi_module and the directives:
fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params,
fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
fastcgi_busy_buffers_size, fastcgi_temp_path,
fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
fastcgi_next_upstream, and fastcgi_x_powered_by.
*) Bugfix: the "[alert] zero size buf" error; bug appeared in 0.1.3.
*) Change: the URI must be specified after the host name in the
proxy_pass directive.
*) Change: the %3F symbol in the URI was considered as the argument
string start.
*) Feature: the unix domain sockets support in the
ngx_http_proxy_module.
*) Feature: the ssl_engine and ssl_ciphers directives.
Thanks to Sergey Skvortsov for SSL-accelerator.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 18 Jan 2005 00:00:00 +0300 |
parents | 4b2dafa26fe2 |
children | 72eb30262aac |
comparison
equal
deleted
inserted
replaced
27:66901c2556fd | 28:7ca9bdc82b3f |
---|---|
24 r = p->request; | 24 r = p->request; |
25 | 25 |
26 part = &headers_in->headers.part; | 26 part = &headers_in->headers.part; |
27 h = part->elts; | 27 h = part->elts; |
28 | 28 |
29 #if 0 | 29 for (i = 0; /* void */; i++) { |
30 h = headers_in->headers.elts; | |
31 for (i = 0; i < headers_in->headers.nelts; i++) { | |
32 #endif | |
33 | |
34 for (i = 0 ; /* void */; i++) { | |
35 | 30 |
36 if (i >= part->nelts) { | 31 if (i >= part->nelts) { |
37 if (part->next == NULL) { | 32 if (part->next == NULL) { |
38 break; | 33 break; |
39 } | 34 } |
111 if (&h[i] == headers_in->etag) { | 106 if (&h[i] == headers_in->etag) { |
112 r->headers_out.etag = ho; | 107 r->headers_out.etag = ho; |
113 continue; | 108 continue; |
114 } | 109 } |
115 | 110 |
111 #if (NGX_HTTP_GZIP) | |
116 if (&h[i] == headers_in->content_encoding) { | 112 if (&h[i] == headers_in->content_encoding) { |
117 r->headers_out.content_encoding = ho; | 113 r->headers_out.content_encoding = ho; |
118 continue; | 114 continue; |
119 } | 115 } |
116 #endif | |
120 | 117 |
121 if (&h[i] == headers_in->last_modified) { | 118 if (&h[i] == headers_in->last_modified) { |
122 r->headers_out.last_modified = ho; | 119 r->headers_out.last_modified = ho; |
123 /* TODO: update r->headers_out.last_modified_time */ | 120 /* TODO: update r->headers_out.last_modified_time */ |
124 continue; | 121 continue; |
167 | 164 |
168 if (!(location = ngx_list_push(&r->headers_out.headers))) { | 165 if (!(location = ngx_list_push(&r->headers_out.headers))) { |
169 return NGX_ERROR; | 166 return NGX_ERROR; |
170 } | 167 } |
171 | 168 |
172 if (uc->url.len > loc->value.len | 169 if (p->lcf->preserve_host |
170 || uc->url.len > loc->value.len | |
173 || ngx_rstrncmp(loc->value.data, uc->url.data, uc->url.len) != 0) | 171 || ngx_rstrncmp(loc->value.data, uc->url.data, uc->url.len) != 0) |
174 { | 172 { |
175 | 173 |
176 /* | 174 /* |
177 * we do not set r->headers_out.location here to avoid the handling | 175 * we do not set r->headers_out.location here to avoid the handling |