aboutsummaryrefslogtreecommitdiff
path: root/src/http/modules/ngx_http_uwsgi_module.c
Commit message (Collapse)AuthorAge
...
* Upstream: fixed inheritance of proxy_store and friends.Valentin Bartenev2014-10-09
| | | | | | | | | | | | The proxy_store, fastcgi_store, scgi_store and uwsgi_store were inherited incorrectly if a directive with variables was defined, and then redefined to the "on" value, i.e. in configurations like: proxy_store /data/www$upstream_http_x_store; location / { proxy_store on; }
* Upstream: fixed unexpected inheritance into limit_except blocks.Maxim Dounin2014-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | The proxy_pass directive and other handlers are not expected to be inherited into nested locations, but there is a special code to inherit upstream handlers into limit_except blocks, as well as a configuration into if{} blocks. This caused incorrect behaviour in configurations with nested locations and limit_except blocks, like this: location / { proxy_pass http://u; location /inner/ { # no proxy_pass here limit_except GET { # nothing } } } In such a configuration the limit_except block inside "location /inner/" unexpectedly used proxy_pass defined in "location /", while it shouldn't. Fix is to avoid inheritance of conf->upstream.upstream (and conf->proxy_lengths) into locations which don't have noname flag.
* Upstream: inheritance of proxy_pass and friends (ticket #645).Maxim Dounin2014-12-09
| | | | | | | | | Instead of independant inheritance of conf->upstream.upstream (proxy_pass without variables) and conf->proxy_lengths (proxy_pass with variables) we now test them both and inherit only if neither is set. Additionally, SSL context is also inherited only in this case now. Based on the patch by Alexey Radkov.
* Upstream: different header lists for cached and uncached requests.Roman Arutyunyan2014-11-19
| | | | | | | | | | | | The upstream modules remove and alter a number of client headers before sending the request to upstream. This set of headers is smaller or even empty when cache is disabled. It's still possible that a request in a cache-enabled location is uncached, for example, if cache entry counter is below min_uses. In this case it's better to alter a smaller set of headers and pass more client headers to backend unchanged. One of the benefits is enabling server-side byte ranges in such requests.
* Upstream: moved header lists to separate structures.Roman Arutyunyan2014-11-19
| | | | No functional changes.
* Upstream: moved header initializations to separate functions.Roman Arutyunyan2014-11-19
| | | | 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: add "proxy_ssl_certificate" and friends.Piotr Sikora2014-10-30
| | | | Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
* 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.
* 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.
* Added warning about unset cache keys.Maxim Dounin2014-09-11
| | | | | In fastcgi, scgi and uwsgi modules there are no default cache keys, and using a cache without a cache key set is likely meaningless.
* Style.Maxim Dounin2014-09-11
|
* Style: remove whitespace between function name and parentheses.Piotr Sikora2014-07-08
| | | | Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
* Upstream: cache revalidation using If-None-Match.Maxim Dounin2014-06-26
|
* Upstream: uwsgi_ssl_name, uwsgi_ssl_verify, and so on.Maxim Dounin2014-04-18
| | | | | Just a merge of proxy_ssl_name, proxy_ssl_verify commits into uwsgi module, code is identical.
* Upstream: plugged potential memory leak on reload.Maxim Dounin2014-04-18
| | | | | | | | | | The SSL_CTX_set_cipher_list() may fail if there are no valid ciphers specified in proxy_ssl_ciphers / uwsgi_ssl_ciphers, resulting in SSL context leak. In theory, ngx_pool_cleanup_add() may fail too, but this case is intentionally left out for now as it's almost impossible and proper fix will require changes to http ssl and mail ssl code as well.
* Upstream: fix $upstream_status variable.Piotr Sikora2014-02-11
| | | | | | | | Previously, upstream's status code was overwritten with cached response's status code when STALE or REVALIDATED response was sent to the client. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
* Style: removed surplus semicolons.Valentin Bartenev2013-12-27
|
* Trailing whitespace fix.Maxim Dounin2013-12-12
|
* Fixed incorrect ngx_str_set() usage, broken in c82b2e020b9f.Piotr Sikora2013-12-06
| | | | | | Found by Coverity Scan CID 1135525. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
* Fixed build without SSL, broken by c82b2e020b9f.Maxim Dounin2013-12-04
|
* SSL support in the uwsgi module.Maxim Dounin2013-12-04
| | | | Based on patch by Roberto De Ioris.
* Upstream: skip empty cache headers.Maxim Dounin2013-11-29
| | | | | Notably this fixes HTTP_IF_MODIFIED_SINCE which was always sent with cache enabled in fastcgi/scgi/uwsgi after 43ccaf8e8728.
* 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: subrequest_in_memory support for SCGI and uwsgi enabled.Maxim Dounin2013-09-27
| | | | | This was missed in 9d59a8eda373 when non-buffered support was added to SCGI and uwsgi.
* 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
* Trailing whitespace fix.Maxim Dounin2013-02-23
|
* Connection upgrade support in uwsgi and scgi modules.Maxim Dounin2013-02-20
| | | | Prodded by Roberto De Ioris.
* 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.
* Allow the complex value to be defined as an empty string.Ruslan Ermilov2012-12-06
| | | | | This makes conversion from strings to complex values possible without the loss of functionality.
* Added r->state reset on fastcgi/scgi/uwsgi request start.Maxim Dounin2012-05-11
| | | | | | | | | Failing to do so results in problems if 400 or 414 requests are redirected to fastcgi/scgi/uwsgi upstream, as well as after invalid headers got from upstream. This was already fixed for proxy in r3478, but fastcgi (the only affected protocol at that time) was missed. Reported by Matthieu Tourne.
* Fixed grammar in error messages.Ruslan Ermilov2012-04-12
|
* Fixed incorrect ngx_cpystrn() usage in ngx_http_*_process_header().Maxim Dounin2012-03-15
| | | | | | | | This resulted in a disclosure of previously freed memory if upstream server returned specially crafted response, potentially exposing sensitive information. Reported by Matthew Daley.
* Uwsgi: merged r->http_version fixes from scgi module.Maxim Dounin2012-03-15
| | | | | Fixed incorrect use of r->http_version (r4372). Removed duplicate function declaration (r4373). Removed error if there is no Status header (r4374).
* Whitespace fixes.Maxim Dounin2012-03-05
|
* Copyright updated.Maxim Konovalov2012-01-18
|
* Fixed proxy_cache_use_stale in "no live upstreams" case.Maxim Dounin2012-01-16
|
* Cache lock support for fastcgi, scgi, uwsgi.Maxim Dounin2011-12-26
|
* uwsgi: added "if_not_empty" flag support to the "uwsgi_param" directive.Valentin Bartenev2011-12-09
|
* Fixed fastcgi/scgi/uwsgi_param inheritance.Maxim Dounin2011-11-14
| | | | | | | | | | | | | The following problems were fixed: 1. Directive fastcgi_cache affected headers sent to backends in unrelated servers / locations (see ticket #45). 2. If-Unmodified-Since, If-Match and If-Range headers were sent to backends if fastcgi_cache was used. 3. Cache-related headers were sent to backends if there were no fastcgi_param directives and fastcgi_cache was used at server level.
* Separate functions to merge fastcgi/scgi/uwsgi params.Maxim Dounin2011-11-14
| | | | No functional changes.
* Added uwsgi_buffering and scgi_buffering directives.Maxim Dounin2011-09-30
| | | | Patch by Peter Smit.
* Fix ignored headers handling in fastcgi/scgi/uwsgi.Maxim Dounin2011-08-19
| | | | The bug had appeared in r3561 (fastcgi), r3638 (scgi), r3567 (uwsgi).
* update r3945 with more descriptive error messageIgor Sysoev2011-07-29
|
* fix case when a host in fastcgi_pass, scgi_pass, and uwsgi_passIgor Sysoev2011-04-04
| | | | is given by expression and refers to a defined upstream
* inherit proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass insideIgor Sysoev2010-08-03
| | | | a limit_except block if no handler was defined for the block
* fix directive typeIgor Sysoev2010-08-02
|
* proxy_cache_pass, fastcgi_cache_bypass, uwsgi_cache_bypass, scgi_cache_bypassIgor Sysoev2010-07-19
|
* fix scgi_no_cache and uwsgi_no_cache initializationIgor Sysoev2010-07-14
|