Maxim Dounin
d7c2673d3f
API change: ngx_chain_update_chains() now requires pool.
...
The ngx_chain_update_chains() needs pool to free chain links used for buffers
with non-matching tags. Providing one helps to reduce memory consumption
for long-lived requests.
2011-09-15 16:03:17 +00:00
Igor Sysoev
c2f852c260
update r3945 with more descriptive error message
2011-07-29 15:33:03 +00:00
Igor Sysoev
a3741fb24d
finalizing with rc == 0 in unbuffered proxy mode caused nginx to wait
...
for another send_timeout before actually closing client's connection
if client timed out while still talking to upstream server
patch by Maxim Dounin
2011-07-22 13:30:16 +00:00
Igor Sysoev
6c3c3bbe42
fix segfault if cache key is larger than upstream buffer size
...
patch by Lanshun Zhou
2011-07-19 11:24:16 +00:00
Igor Sysoev
87ee007022
revert r3935 and fix "stalled cache updating" alert
...
by freeing cache at upstream finalize phase
patch by Maxim Dounin
2011-06-28 13:26:08 +00:00
Igor Sysoev
1788ec0c48
fix "stalled cache updating" alert,
...
when non-cachable HEAD response did not not free an expired cache node
2011-06-01 08:02:34 +00:00
Igor Sysoev
0d6283918f
fix a broken cached response if bypass/no_cache directive values are different,
...
the bug has been introduced in r3700
2011-05-13 10:05:38 +00:00
Igor Sysoev
64efecc2b5
allow to use $upstream_... variables in SSI
2011-04-21 10:07:07 +00:00
Igor Sysoev
fde7d51392
fix case when a host in fastcgi_pass, scgi_pass, and uwsgi_pass
...
is given by expression and refers to a defined upstream
2011-04-04 10:43:21 +00:00
Igor Sysoev
9135a0e022
move debug logging inside ngx_http_file_cache_free()
2010-07-28 15:56:56 +00:00
Igor Sysoev
406a68003c
several changes in cache cleanup handling:
...
*) now ngx_http_file_cache_cleanup() uses ngx_http_file_cache_free()
*) ngx_http_file_cache_free() interface has been changed to accept r->cache
ngx_http_file_cache_cleanup() must use r->cache, but not r, because
there can be several r->cache's during request processing, r->cache may
be NULL at request finalising, etc.
*) test if updating request does not complete correctly
2010-07-28 15:49:34 +00:00
Igor Sysoev
6af21b7cda
fix r3707: cache node should be freed be a response is not cached
2010-07-27 15:26:33 +00:00
Igor Sysoev
3cf3100977
fix typo
2010-07-27 13:04:13 +00:00
Igor Sysoev
f297d0dd27
an intercepted error code was not cached
2010-07-19 15:31:46 +00:00
Igor Sysoev
cc963cd7e2
style fix
2010-07-19 15:29:16 +00:00
Igor Sysoev
f7d659aa52
proxy_cache_pass, fastcgi_cache_bypass, uwsgi_cache_bypass, scgi_cache_bypass
2010-07-19 09:36:04 +00:00
Igor Sysoev
6a47b43234
rename ngx_http_file_cache_create() to ngx_http_file_cache_new()
2010-07-16 10:01:49 +00:00
Igor Sysoev
9aa3d7f667
ngx_http_file_cache_create()
2010-07-15 14:01:02 +00:00
Igor Sysoev
f3870c66df
use ngx_http_test_predicates(), ngx_http_set_predicate_slot()
...
delete ngx_http_cache(), ngx_http_no_cache_set_slot()
2010-07-14 11:15:45 +00:00
Igor Sysoev
0bd1809f05
treat Set-Cookie as a header that forbids caching
2010-07-02 09:49:27 +00:00
Igor Sysoev
7e14b50c28
use shared ngx_http_upstream_ignore_headers_masks[]
2010-07-02 09:25:38 +00:00
Igor Sysoev
de0b1d6f12
remove r->zero_in_uri
2010-05-24 12:35:10 +00:00
Igor Sysoev
9b2763a245
proxy_no_cache and fastcgi_no_cache
2010-05-24 11:01:05 +00:00
Igor Sysoev
402b2f07c2
do not cache response if it has "no-store" or "private"
...
in "Cache-Control" header
2010-05-14 12:04:58 +00:00
Igor Sysoev
05b1a8f1e3
ngx_str_set() and ngx_str_null()
2010-05-14 09:56:37 +00:00
Igor Sysoev
328df7a5cc
use ngx_min() and ngx_max()
2010-05-14 09:55:33 +00:00
Igor Sysoev
5739072cfe
fix segfault: ngx_http_upstream_cleanup() cleans r->cleanup,
...
the bug had been introduced in r3419
2010-05-14 09:22:58 +00:00
Igor Sysoev
4e20f24b5b
delete u->cleanup mark, this fixes large values in $upstream_response_time,
...
the bug had been introduced in r3007
2010-01-29 16:45:14 +00:00
Igor Sysoev
e146ebd813
allow to handle 301/302 in error_page
2009-12-23 15:31:16 +00:00
Igor Sysoev
bd375b9566
fix typo
2009-12-23 14:22:17 +00:00
Igor Sysoev
601ab90cd4
fix handling cached HTTP/0.9 response
2009-11-29 20:48:01 +00:00
Igor Sysoev
8b816d88a9
change ngx_parse_addr() interface
2009-11-02 16:11:06 +00:00
Igor Sysoev
72e928755b
proxy_bind, fastcgi_bind, and memcached_bind
2009-11-02 15:24:02 +00:00
Igor Sysoev
671236993a
test comma separator in "Cache-Control"
2009-10-08 14:22:00 +00:00
Igor Sysoev
136dd8d1e6
use real file cache length, this fixes cache size counting for responses
...
without "Content-Length" header and 304 responses.
2009-10-07 12:55:58 +00:00
Igor Sysoev
65166cfa2f
fix request counter in resolver handling, the bug was introduced in r3050
2009-09-28 12:31:47 +00:00
Igor Sysoev
a552ab476e
check unsafe Destination
2009-09-25 09:30:06 +00:00
Igor Sysoev
12a7d493d4
fix request counter for X-Accel-Redirect, the bug was introduced in r3050
2009-09-13 13:45:32 +00:00
Igor Sysoev
3e751480b2
increase request counter before an upstream cleanup because the cleanup
...
decreases the counter via ngx_http_finalize_request(r, NGX_DONE),
the bug was introduced in r3050
2009-09-08 11:37:50 +00:00
Igor Sysoev
8013a83067
clean cache updating state if a response has uncacheable code or
...
cache prohibitive headers
2009-09-04 09:57:38 +00:00
Igor Sysoev
8b8e995eb8
do not create cache key in AIO invocation
2009-08-28 11:23:50 +00:00
Igor Sysoev
a39d4e1aee
fix sending a cached file using AIO
2009-08-28 11:22:27 +00:00
Igor Sysoev
6fb506a215
directio_alignment
2009-08-28 08:15:55 +00:00
Igor Sysoev
a962506498
FreeBSD and Linux AIO support
2009-08-28 08:12:35 +00:00
Igor Sysoev
5297d456d8
axe r->connection->destroyed testing
2009-08-26 16:14:57 +00:00
Igor Sysoev
5374610ace
process upstream ETag header
2009-08-23 16:10:39 +00:00
Igor Sysoev
9db33c9234
fix copy destination name length, introduced in r3025
2009-08-20 13:37:26 +00:00
Igor Sysoev
b7a09c5523
allow cross device temporary files atomic copying:
...
*) ngx_copy_file()
*) delete ngx_ext_rename_file_t.log_rename_error and .rename_error fields
2009-08-12 12:05:33 +00:00
Igor Sysoev
22fc3e656e
fix segfault introduced in r3007
2009-08-07 13:16:42 +00:00
Igor Sysoev
15b7420aa6
ngx_http_upstream_create() to cleanup the previous upstream after
...
internal redirect
2009-07-27 13:25:29 +00:00
Igor Sysoev
ce1ba38b93
fix handling "Last-Modified" and "Accept-Ranges" for upstream responses
2009-07-27 13:14:45 +00:00
Igor Sysoev
7335dfa4b6
allow to proxy_pass_header/fastcgi_pass_header "X-Accel-Redirect",
...
"X-Accel-Limit-Rate", "X-Accel-Buffering", and "X-Accel-Charset"
2009-07-27 12:06:12 +00:00
Igor Sysoev
2e9542b910
fix ngx_http_send_special() for subrequests handled by perl
2009-07-09 13:32:51 +00:00
Igor Sysoev
704462ac85
fix building --without-http-cache, broken in r2953
2009-06-22 09:10:50 +00:00
Igor Sysoev
ad0d2fced4
fix segfault if there is error_page 401, proxy_intercept_errors is on
...
and backend does not return "WWW-Authenticate" header
2009-06-18 14:28:50 +00:00
Igor Sysoev
bd9eda9986
$upstream_cache_status
2009-06-18 13:34:47 +00:00
Igor Sysoev
0775182312
fix building --without-http-cache, broken in r2930
2009-06-15 14:25:08 +00:00
Igor Sysoev
83c93ba109
inherit proxy_set_header, proxy_hide_header, and fastcgi_hide_header
...
only if cache settings are similar
2009-06-08 12:33:11 +00:00
Igor Sysoev
55192e7470
proxy_cache_use_stale/fastcgi_cache_use_stale updating
2009-06-06 18:49:47 +00:00
Igor Sysoev
fa524e9063
delete useless r->cache->uses
2009-06-06 17:48:54 +00:00
Igor Sysoev
260c4321d7
return NULL instead of NGX_CONF_ERROR on a create conf failure
2009-06-02 16:09:44 +00:00
Igor Sysoev
60190068ab
reset content_type hash value, this fixes a bug when XSLT responses
...
could not be processed by SSI, charset, and gzip filters
2009-05-25 09:06:29 +00:00
Igor Sysoev
5ed3691b6e
proxy_cache_methods and fastcgi_cache_methods
2009-05-19 13:27:27 +00:00
Igor Sysoev
980491302b
use already given variable
2009-05-19 12:55:26 +00:00
Igor Sysoev
731e6a9b11
style fix
2009-05-14 16:24:39 +00:00
Igor Sysoev
dbebf0bdbc
fix building --without-http-cache
...
the bug had been appeared in r2806
2009-05-08 20:14:35 +00:00
Igor Sysoev
c340a2841b
delete level event of appropriate type, this should fix select()'s EBADF,
...
WSAENOTSOCK, and "select ready != events" alerts
2009-05-06 08:40:44 +00:00
Igor Sysoev
25870d8ea2
reinit proxy/fastcgi header parser before ngx_http_upstream_cache_send()
2009-05-05 17:18:33 +00:00
Igor Sysoev
b4097d6093
proxy/fastcgi_cache_use_stale http_50x did not work
2009-05-05 15:17:00 +00:00
Igor Sysoev
b01c9cc10e
proxy_ignore_headers and fastcgi_ignore_headers
2009-04-30 16:15:07 +00:00
Igor Sysoev
df585ef949
get a full response if the response is cacheable or storable even
...
a client has closed connection prematurely
2009-04-27 11:20:55 +00:00
Igor Sysoev
9bd1010164
fix building --without-http-cache, introduced in r2664 and later
2009-04-15 12:25:51 +00:00
Igor Sysoev
c796dd263a
shutdown client connection for cacheable header only responses
2009-04-15 11:19:27 +00:00
Igor Sysoev
e41e724726
support 304 for cacheable responses
2009-04-15 11:17:38 +00:00
Igor Sysoev
ea8536b821
support HEAD in proxy cache
2009-04-15 09:53:22 +00:00
Igor Sysoev
a655f363e2
style fix
2009-04-10 14:49:51 +00:00
Igor Sysoev
909b36ab1f
do not call ngx_http_file_cache_free() if a response is not cacheable
2009-04-10 14:48:41 +00:00
Igor Sysoev
49ed98d1eb
add debug logging
2009-04-10 14:47:18 +00:00
Igor Sysoev
21a3c66a87
support Cache-Control no-cache and max-age in cache
2009-04-04 17:35:40 +00:00
Igor Sysoev
054c505050
update r2664
2009-04-04 17:22:26 +00:00
Igor Sysoev
c8298bf3ee
support Expires in cache
2009-04-03 15:48:19 +00:00
Igor Sysoev
db8f150044
fix r2664: ..._cache_valid did not work for stale responses
2009-04-03 15:47:45 +00:00
Igor Sysoev
c1713aadf5
zero field
2009-04-03 15:44:41 +00:00
Igor Sysoev
0eea247b1d
support X-Accel-Expires in cache
2009-04-03 14:33:34 +00:00
Igor Sysoev
56f86505db
cache GET requests only
2009-04-03 12:06:04 +00:00
Igor Sysoev
52859f2f13
a prelimiary proxy cache support
2009-03-23 13:14:51 +00:00
Igor Sysoev
1f4220ee86
small optimization: " == NGX_ERROR" > " != NGX_OK"
2009-02-24 10:42:23 +00:00
Igor Sysoev
7a86f07057
fix fastcgi_store
2009-01-21 20:54:40 +00:00
Igor Sysoev
6019a7621b
proxy/fastcgi_store did not delete incomplete files
2009-01-16 13:57:00 +00:00
Igor Sysoev
f7204173f9
in miss case memcached module returned END instead of default 404 page body
...
the bug has been introduced in r2269
2009-01-15 13:10:45 +00:00
Igor Sysoev
302cedceb0
variable support for unix sockets in fastcgi_pass and proxy_pass
2008-12-23 19:35:12 +00:00
Igor Sysoev
cf6c582b9a
fix segfault
2008-12-17 16:07:58 +00:00
Igor Sysoev
371766c0a5
$upstream_response_length
2008-12-11 15:30:52 +00:00
Igor Sysoev
524f54f56d
use ngx_ext_rename_file() for single file MOVE
2008-12-10 14:53:45 +00:00
Igor Sysoev
b9409a8e25
use already available r and u instead of ev
2008-12-09 17:25:03 +00:00
Igor Sysoev
3e15a9712a
fix r2378, run posted requests after upstream event handling
2008-12-08 18:28:06 +00:00
Igor Sysoev
851cd73f1d
*) refactor subrequest handling, now they run as separate posted requests
...
*) now $upstream_addr, $upstream_status, $upstream_response_time can be used
with log_subrequest
2008-12-08 14:23:20 +00:00
Igor Sysoev
15fbaa6612
read and process upstream header in cycle,
...
this fixes the case when local FastCGI server sends many warnings in stderr
2008-12-01 14:08:00 +00:00
Igor Sysoev
a485909174
memcached response was stored in variable with END
2008-11-12 21:01:01 +00:00
Igor Sysoev
694c84975d
fix r1913
2008-10-30 15:59:10 +00:00