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
Igor Sysoev
797c6ef394
*) ngx_http_upstream_test_next()
...
*) add proxy_next_upstream http_502 and http_504
*) fix http_503
2008-09-30 15:39:02 +00:00
Igor Sysoev
d01eea1e18
ngx_http_upstream_intercept_errors()
2008-09-30 14:57:09 +00:00
Igor Sysoev
316542508b
strip charset name quotes
2008-09-09 11:58:45 +00:00
Igor Sysoev
916ee8ecea
proxy_ssl_session_reuse
2008-08-17 17:47:52 +00:00
Igor Sysoev
f60dde9767
disable original URI usage in proxy_pass after X-Accel-Redirect
2008-08-17 17:44:08 +00:00
Igor Sysoev
ac721d0647
if upstream sent a location header without status use 302
2008-08-04 14:53:16 +00:00
Igor Sysoev
7f6b2ffc60
*) back out r2040
...
*) refactor ngx_palloc()
*) introduce ngx_pnalloc()
*) additional pool blocks have smaller header
2008-06-17 15:00:30 +00:00
Igor Sysoev
6a2ea3f544
small fix
2008-04-17 14:32:11 +00:00
Igor Sysoev
523e09ee1a
fix segfault
2008-04-11 09:15:07 +00:00
Igor Sysoev
f576f0d2bc
quick resolving handles u->resolved->ctx by itself
2008-04-09 14:20:17 +00:00
Igor Sysoev
a4ec6869fc
fix peer sendfile capability
2008-04-04 12:07:13 +00:00
Igor Sysoev
9ff26ce124
use ngx_ext_rename_file() in proxy/fastcgi_store
2008-03-17 13:07:35 +00:00
Igor Sysoev
cca6000247
ngx_resolve_name() frees ctx on immediate failure
2008-03-05 07:30:44 +00:00
Igor Sysoev
8efe926dc5
fix r1903
2008-03-03 20:04:06 +00:00
Igor Sysoev
7c15b75cc7
fix memory leak in long-lived non buffered connections
2008-03-03 10:42:00 +00:00
Igor Sysoev
d3434dfa63
check port in upstream list
2008-02-21 13:58:45 +00:00
Igor Sysoev
be0a61e618
test response length in proxy/fastcgi_store
2008-02-11 13:14:56 +00:00
Igor Sysoev
0123ee3adf
optimization
2007-12-26 13:24:57 +00:00
Igor Sysoev
6d4b5a1f86
$upstream_addr did not contain last address, the bug was introduced in r1659
2007-12-11 16:26:56 +00:00
Igor Sysoev
3fc85af2fc
style fix: remove trailing spaces
2007-12-10 12:30:09 +00:00
Igor Sysoev
f2932dcbe5
optimize r->upstream usage
2007-12-10 12:29:43 +00:00
Igor Sysoev
cb54061885
*) now ngx_conf_set_str_array_slot() tests NGX_CONF_UNSET_PTR
...
this fixes fastcgi_catch_stderr segfault introduced in r1453
*) ngx_http_upstream_hide_headers_hash()
*) proxy/fastcgi pass_header/hide_header use
ngx_http_upstream_hide_headers_hash()
2007-12-09 18:03:20 +00:00
Igor Sysoev
5a55d7104b
return NGX_ERROR instead of NGX_HTTP_INTERNAL_SERVER_ERROR in u->parse_header()
2007-12-09 08:22:35 +00:00
Igor Sysoev
27dd6a62bd
use malloc() in ngx_win32_rename_file, set crit level instead of error
2007-12-07 19:57:13 +00:00
Igor Sysoev
6b2fce430b
allow to use IP addresses without defined resolver
2007-12-03 10:05:19 +00:00
Igor Sysoev
96dd8af8e6
proxy_pass variables support
2007-11-27 13:34:13 +00:00
Igor Sysoev
32717eb60c
r->headers_out.refresh
2007-11-27 11:56:18 +00:00
Igor Sysoev
685fd08753
set r->headers_out.location for non-local redirects
2007-11-27 11:52:37 +00:00
Igor Sysoev
1d04b14c09
64-bit time_t compatibility
2007-11-15 14:26:36 +00:00
Igor Sysoev
2d3f3f6eb6
fix English grammar
2007-10-14 18:56:15 +00:00
Igor Sysoev
7ed63ee75f
use pool instead of ngx_conf_t
2007-10-08 08:55:12 +00:00
Igor Sysoev
7973964b3f
optimization
2007-10-08 04:59:26 +00:00
Igor Sysoev
f53294103b
pass length clearly
2007-10-01 12:57:47 +00:00
Igor Sysoev
0659720dc8
use ngx_strstrn() and ngx_strcasestrn()
2007-09-26 19:26:14 +00:00
Igor Sysoev
4b96baa417
u_char* is enough to keep file name
2007-09-15 17:11:06 +00:00
Igor Sysoev
9e4b7276f9
connection error should be logged with "connecting to upstream" action,
...
the bug was introduced in r1154
2007-09-09 18:43:16 +00:00
Igor Sysoev
3dea919675
read EOF of header only responses in non-buffered proxying
2007-09-09 18:32:53 +00:00
Igor Sysoev
e101338634
upstream sendfile bit was overridden by r->connection->sendfile
2007-08-14 20:44:09 +00:00
Igor Sysoev
6876bcdad6
backup upstream servers
2007-08-09 13:54:33 +00:00
Igor Sysoev
32b787560a
fix case when two directives
...
proxy_pass http://backend ;
proxy_pass https://backend ;
both use one port - 80 or 443, that was defined first.
2007-07-23 12:35:21 +00:00
Igor Sysoev
fbd9b4399f
proxy_store and fastcgi_store were changed,
...
proxy_store_access and fastcgi_store_access were added
2007-07-13 08:30:34 +00:00
Igor Sysoev
58feb53eb4
proxy_store and fastcgi_store
2007-07-12 11:19:05 +00:00
Igor Sysoev
8b0a3d2810
fix segfault when session was freed twice
2007-07-10 21:04:37 +00:00
Igor Sysoev
def1e7439f
if subrequest response was buffered in file, then subrequest was finalized
...
with 0 code, ngx_http_writer() was not set, and response part in file was lost
2007-06-17 09:29:15 +00:00
Igor Sysoev
84cc2cca53
style fix
2007-06-07 14:33:02 +00:00
Igor Sysoev
29f5912635
$upstream_addr
2007-04-23 16:56:17 +00:00
Igor Sysoev
e0f866273f
store the upstream states before X-Accel-Redirect to a next upstream
2007-04-18 20:23:19 +00:00
Igor Sysoev
fb958946b5
style fix: remove tabs
2007-04-18 15:21:28 +00:00
Igor Sysoev
2723361e76
$upstream_http_... variables
2007-04-10 07:08:06 +00:00
Igor Sysoev
24a95944a7
separate ngx_http_upstream_test_connect() and
...
use it in ngx_http_upstream_process_header() path too
2007-03-31 15:37:09 +00:00
Igor Sysoev
77d7f80285
fix segfault if upstream sends trailing ";" in "charset="
2007-03-23 11:33:47 +00:00
Igor Sysoev
7b2d87ffa0
add debug logging
2007-02-15 10:00:59 +00:00
Igor Sysoev
722231f407
ngx_strcasecmp()/ngx_strncasecmp()
2007-02-14 18:51:19 +00:00
Igor Sysoev
f15b839a88
log a right subrequest
2007-02-09 13:49:14 +00:00
Igor Sysoev
8ff1e3251c
fix segfault when client_body_in_file_only is on, the body is not passed
...
to upstream, and nginx tries next upstream
2007-01-19 12:57:02 +00:00
Igor Sysoev
ae2006b2fe
a non-active client connection must not closed after send timeout
2007-01-19 12:22:32 +00:00
Igor Sysoev
8488a1ce11
allow the upstream modules to send a header only
2007-01-15 17:12:43 +00:00
Igor Sysoev
bf3aaac7ac
rewritten upstream
2006-12-12 16:46:16 +00:00
Igor Sysoev
2fb2a8dbf9
upstream name was tried to resolve
2006-12-11 15:12:07 +00:00
Igor Sysoev
e60b99f1d0
TCP upstreams always used the first TCP upstream with the same name
2006-12-11 08:25:03 +00:00
Igor Sysoev
8f98581bbf
the previous fix does not actually fix overflow
2006-12-06 11:33:18 +00:00
Igor Sysoev
8b6844c747
fix msec overflow
2006-12-05 20:30:05 +00:00
Igor Sysoev
3d2fd18a39
upstream choice modules
2006-12-04 16:46:13 +00:00
Igor Sysoev
a8c54c082c
axe old % log format
2006-11-27 14:46:15 +00:00
Igor Sysoev
eb885fafd2
fix negative upstream response time
2006-11-15 20:51:07 +00:00
Igor Sysoev
37188918ed
style fix: remove trailing spaces
2006-10-17 16:13:49 +00:00
Igor Sysoev
960100e371
<!--#include virtual=... set=... -->
2006-10-13 15:20:10 +00:00
Igor Sysoev
cea316dbae
not do ngx_http_upstream_finalize_request() twice
2006-10-10 13:17:58 +00:00
Igor Sysoev
e3fbaeaffe
fix building introduced by previous commit
2006-10-10 13:12:13 +00:00
Igor Sysoev
52ec2c48b9
finalize nonbuffered request on timeout
2006-10-10 13:11:06 +00:00
Igor Sysoev
aec57e2613
align hash bucket size to cache line
2006-10-09 14:03:16 +00:00
Igor Sysoev
627b8aa3bd
fix hash building on unknown 64-bit platform
2006-10-06 15:06:02 +00:00
Igor Sysoev
da173abde0
nginx-0.4.0-RELEASE import
...
*) Change in internal API: the HTTP modules initialization was moved
from the init module phase to the HTTP postconfiguration phase.
*) Change: now the request body is not read beforehand for the
ngx_http_perl_module: it's required to start the reading using the
$r->has_request_body method.
*) Feature: the ngx_http_perl_module supports the DECLINED return code.
*) Feature: the ngx_http_dav_module supports the incoming "Date" header
line for the PUT method.
*) Feature: the "ssi" directive is available inside the "if" block.
*) Bugfix: a segmentation fault occurred if there was an "index"
directive with variables and the first index name was without
variables; the bug had appeared in 0.1.29.
2006-08-30 10:39:17 +00:00