aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_upstream.h
Commit message (Collapse)AuthorAge
...
* Upstream: $upstream_header_time variable.Vladimir Homutov2015-01-14
| | | | | Keeps time spent on obtaining the header from an upstream server. The value is formatted similar to the $upstream_response_time variable.
* Upstream: added variables support to proxy_cache and friends.Valentin Bartenev2014-12-22
|
* Upstream: refactored proxy_cache and friends.Valentin Bartenev2014-12-22
| | | | | | | | The configuration handling code has changed to look similar to the proxy_store directive and friends. This simplifies adding variable support in the following patch. No functional changes.
* Cache: proxy_cache_lock_age and friends.Roman Arutyunyan2014-11-18
| | | | | | Once this age is reached, the cache lock is discarded and another request can acquire the lock. Requests which failed to acquire the lock are not allowed to cache the response.
* Upstream: proxy_limit_rate and friends.Roman Arutyunyan2014-10-28
| | | | | | The directives limit the upstream read rate. For example, "proxy_limit_rate 42" limits proxy upstream read rate to 42 bytes per second.
* Cache: disable caching of responses with Vary (ticket #118).Maxim Dounin2014-10-27
| | | | | The "proxy_ignore_header" directive now undersands the "Vary" parameter to ignore the header as needed.
* Upstream: proxy_force_ranges and friends.Roman Arutyunyan2014-10-14
| | | | | The directives enable byte ranges for both cached and uncached responses regardless of backend headers.
* Upstream: limited next_upstream time and tries (ticket #544).Roman Arutyunyan2014-09-12
| | | | | | | The new directives {proxy,fastcgi,scgi,uwsgi,memcached}_next_upstream_tries and {proxy,fastcgi,scgi,uwsgi,memcached}_next_upstream_timeout limit the number of upstreams tried and the maximum time spent for these tries when searching for a valid upstream.
* Upstream: fixed cache revalidation with SSI.Maxim Dounin2014-06-26
| | | | | | | | Previous code in ngx_http_upstream_send_response() used last modified time from r->headers_out.last_modified_time after the header filter chain was already called. At this point, last_modified_time may be already cleared, e.g., with SSI, resulting in incorrect last modified time stored in a cache file. Fix is to introduce u->headers_in.last_modified_time instead.
* Upstream: generic hash module.Roman Arutyunyan2014-06-02
|
* Upstream: added the "$upstream_cookie_<name>" variables.Vladimir Homutov2014-04-29
|
* Upstream: proxy_ssl_verify and friends.Maxim Dounin2014-04-18
|
* Upstream: proxy_ssl_name and proxy_ssl_server_name directives.Maxim Dounin2014-04-18
| | | | | | | | These directives allow to switch on Server Name Indication (SNI) while connecting to upstream servers. By default, proxy_ssl_server_name is currently off (that is, no SNI) and proxy_ssl_name is set to a host used in the proxy_pass directive.
* Changed resolver API to use ngx_addr_t.Ruslan Ermilov2013-12-06
|
* Upstream: cache revalidation with conditional requests.Maxim Dounin2013-11-18
| | | | | | | | | | | | The following new directives are introduced: proxy_cache_revalidate, fastcgi_cache_revalidate, scgi_cache_revalidate, uwsgi_cache_revalidate. Default is off. When set to on, they enable cache revalidation using conditional requests with If-Modified-Since for expired cache items. As of now, no attempts are made to merge headers given in a 304 response during cache revalidation with headers previously stored in a cache item. Headers in a 304 response are only used to calculate new validity time of a cache item.
* Upstream: http_403 support in proxy_next_upstream (and friends).Maxim Dounin2013-05-27
| | | | | | | | | The parameter is mostly identical to http_404, and is expected to be used in similar situations. The 403 code might be returned by a backend instead of 404 on initial sync of new directories with rsync. See here for feature request and additional details: http://mailman.nginx.org/pipermail/nginx-ru/2013-April/050920.html
* Proxy: support for connection upgrade (101 Switching Protocols).Maxim Dounin2013-02-18
| | | | | | | | | | | | | | This allows to proxy WebSockets by using configuration like this: location /chat/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } Connection upgrade is allowed as long as it was requested by a client via the Upgrade request header.
* Fixed and improved the "*_bind" directives of proxying modules.Ruslan Ermilov2013-01-16
| | | | | | | The "proxy_bind", "fastcgi_bind", "uwsgi_bind", "scgi_bind" and "memcached_bind" directives are now inherited; inherited value can be reset by the "off" parameter. Duplicate directives are now detected. Parameter value can now contain variables.
* Fixed "proxy_pass" with IP address and no port (ticket #276).Ruslan Ermilov2013-01-10
| | | | | | | | | Upstreams created by "proxy_pass" with IP address and no port were broken in 1.3.10, by not initializing port in u->sockaddr. API change: ngx_parse_url() was modified to always initialize port (in u->sockaddr and in u->port), even for the u->no_resolve case; ngx_http_upstream() and ngx_http_upstream_add() were adopted.
* Upstream: added callback hook for the "Set-Cookie" header.Valentin Bartenev2012-02-13
| | | | No functional changes.
* Copyright updated.Maxim Konovalov2012-01-18
|
* Cache locks initial implementation.Maxim Dounin2011-12-26
| | | | | | | | | | | | | | | | | | | | | | New directives: proxy_cache_lock on/off, proxy_cache_lock_timeout. With proxy_cache_lock set to on, only one request will be allowed to go to upstream for a particular cache item. Others will wait for a response to appear in cache (or cache lock released) up to proxy_cache_lock_timeout. Waiting requests will recheck if they have cached response ready (or are allowed to run) every 500ms. Note: we intentionally don't intercept NGX_DECLINED possibly returned by ngx_http_file_cache_read(). This needs more work (possibly safe, but needs further investigation). Anyway, it's exceptional situation. Note: probably there should be a way to disable caching of responses if there is already one request fetching resource to cache (without waiting at all). Two possible ways include another cache lock option ("no_cache") or using proxy_no_cache with some supplied variable. Note: probably there should be a way to lock updating requests as well. For now "proxy_cache_use_stale updating" is available.
* Added the ngx_http_upstream_param_set_slot().Valentin Bartenev2011-12-09
|
* Additional headers for proxy/fastcgi/uwsgi/scgi_ignore_headers.Maxim Dounin2011-10-11
| | | | | Now the following headers may be ignored as well: X-Accel-Limit-Rate, X-Accel-Buffering, X-Accel-Charset.
* Upstream: Connection header processing.Maxim Dounin2011-09-15
|
* Upstream: Transfer-Encoding header processing.Maxim Dounin2011-09-15
|
* Upstream: keepalive flag.Maxim Dounin2011-09-15
| | | | | This patch introduces r->upstream->keepalive flag, which is set by protocol handlers if connection to upstream is in good state and can be kept alive.
* Upstream: r->upstream->length type change to off_t.Maxim Dounin2011-09-15
| | | | | | | | | Previous use of size_t may cause wierd effects on 32bit platforms with certain big responses transferred in unbuffered mode. Nuke "if (size > u->length)" check as it's not usefull anyway (preread body data isn't subject to this check) and now requires additional check for u->length being positive.
* update r3945 with more descriptive error messageIgor Sysoev2011-07-29
|
* style fixIgor Sysoev2010-11-26
|
* proxy_cache_pass, fastcgi_cache_bypass, uwsgi_cache_bypass, scgi_cache_bypassIgor Sysoev2010-07-19
|
* treat Set-Cookie as a header that forbids cachingIgor Sysoev2010-07-02
|
* use shared ngx_http_upstream_ignore_headers_masks[]Igor Sysoev2010-07-02
|
* proxy_no_cache and fastcgi_no_cacheIgor Sysoev2010-05-24
|
* fix typoIgor Sysoev2009-12-23
|
* proxy_bind, fastcgi_bind, and memcached_bindIgor Sysoev2009-11-02
|
* rename ngx_peer_addr_t to ngx_addr_tIgor Sysoev2009-11-02
|
* style fixIgor Sysoev2009-11-02
|
* ngx_http_upstream_create() to cleanup the previous upstream afterIgor Sysoev2009-07-27
| | | | internal redirect
* $upstream_cache_statusIgor Sysoev2009-06-18
|
* proxy_cache_use_stale/fastcgi_cache_use_stale updatingIgor Sysoev2009-06-06
|
* proxy_cache_methods and fastcgi_cache_methodsIgor Sysoev2009-05-19
|
* proxy_ignore_headers and fastcgi_ignore_headersIgor Sysoev2009-04-30
|
* style fixIgor Sysoev2009-04-24
|
* a prelimiary proxy cache supportIgor Sysoev2009-03-23
|
* variable support for unix sockets in fastcgi_pass and proxy_passIgor Sysoev2008-12-23
|
* $upstream_response_lengthIgor Sysoev2008-12-11
|
* delete surplus upstream.schema fieldIgor Sysoev2008-12-10
|
* use already available r and u instead of evIgor Sysoev2008-12-09
|
* *) refactor subrequest handling, now they run as separate posted requestsIgor Sysoev2008-12-08
| | | | | *) now $upstream_addr, $upstream_status, $upstream_response_time can be used with log_subrequest