summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules/ngx_http_fastcgi_module.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2014-09-12Upstream: limited next_upstream time and tries (ticket #544).Roman Arutyunyan1-0/+22
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.
2014-09-11Added warning about unset cache keys.Maxim Dounin1-0/+5
In fastcgi, scgi and uwsgi modules there are no default cache keys, and using a cache without a cache key set is likely meaningless.
2014-06-26Upstream: cache revalidation using If-None-Match.Maxim Dounin1-1/+1
2014-03-17FastCGI: f->split_parts reset on request start.Maxim Dounin1-0/+11
Additionally, make sure to check for errors from ngx_http_parse_header_line() call after joining saved parts. There shouldn't be any errors, though check may help to catch bugs like missing f->split_parts reset. Reported by Lucas Molas.
2014-02-11Upstream: fix $upstream_status variable.Piotr Sikora1-1/+1
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>
2013-12-11Use ngx_chain_get_free_buf() in pipe input filters.Valentin Bartenev1-19/+5
No functional changes.
2013-11-29Upstream: skip empty cache headers.Maxim Dounin1-1/+1
Notably this fixes HTTP_IF_MODIFIED_SINCE which was always sent with cache enabled in fastcgi/scgi/uwsgi after 43ccaf8e8728.
2013-11-18Upstream: cache revalidation with conditional requests.Maxim Dounin1-1/+13
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.
2013-09-27FastCGI: non-buffered mode support.Maxim Dounin1-8/+230
2013-09-27Upstream: proxy_no_cache, fastcgi_no_cache warnings removed.Maxim Dounin1-6/+0
2013-05-27Upstream: http_403 support in proxy_next_upstream (and friends).Maxim Dounin1-0/+1
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
2013-02-01FastCGI: proper handling of split fastcgi end request.Maxim Dounin1-7/+37
If fastcgi end request record was split between several network packets, with fastcgi_keep_conn it was possible that connection was saved in incorrect state (e.g. with padding bytes not yet read).
2013-02-01FastCGI: unconditional state transitions.Maxim Dounin1-49/+8
Checks for f->padding before state transitions make code hard to follow, remove them and make sure we always do another loop iteration after f->state is set to ngx_http_fastcgi_st_padding.
2013-02-01FastCGI: fixed wrong connection close with fastcgi_keep_conn.Maxim Dounin1-4/+0
With fastcgi_keep_conn it was possible that connection was closed after FCGI_STDERR record with zero padding and without any further data read yet. This happended as f->state was set to ngx_http_fastcgi_st_padding and then "break" happened, resulting in p->length being set to f->padding, i.e. 0 (which in turn resulted in connection close). Fix is to make sure we continue the loop after f->state is set.
2013-01-16Fixed and improved the "*_bind" directives of proxying modules.Ruslan Ermilov1-0/+5
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.
2012-12-06Allow the complex value to be defined as an empty string.Ruslan Ermilov1-1/+1
This makes conversion from strings to complex values possible without the loss of functionality.
2012-08-08Added three missing checks for NULL after ngx_array_push() calls.Valentin Bartenev1-0/+3
Found by Coverity.
2012-05-11Fastcgi: fixed padding handling on fixed-size records.Maxim Dounin1-4/+23
Padding was incorrectly ignored on end request, empty stdout and stderr fastcgi records. This resulted in protocol desynchronization if fastcgi application used these records with padding for some reason. Reported by Ilia Vinokurov.
2012-05-11Added r->state reset on fastcgi/scgi/uwsgi request start.Maxim Dounin1-0/+3
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.
2012-04-12Fixed grammar in error messages.Ruslan Ermilov1-7/+7
2012-03-15Fixed incorrect ngx_cpystrn() usage in ngx_http_*_process_header().Maxim Dounin1-4/+4
This resulted in a disclosure of previously freed memory if upstream server returned specially crafted response, potentially exposing sensitive information. Reported by Matthew Daley.
2012-03-05Whitespace fixes.Maxim Dounin1-1/+2
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2012-01-16Fixed proxy_cache_use_stale in "no live upstreams" case.Maxim Dounin1-0/+4
2011-12-26Cache lock support for fastcgi, scgi, uwsgi.Maxim Dounin1-0/+22
2011-12-09FastCGI: added "if_not_empty" flag support to the "fastcgi_param" directive.Valentin Bartenev1-7/+44
2011-11-14Fixed fastcgi/scgi/uwsgi_param inheritance.Maxim Dounin1-30/+58
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.
2011-11-14Separate functions to merge fastcgi/scgi/uwsgi params.Maxim Dounin1-30/+42
No functional changes.
2011-11-14Fixed NGX_CONF_TAKE1/NGX_CONF_FLAG misuse.Sergey Budnevitch1-1/+1
2011-09-20Fixed loss of chain links in fastcgi module.Maxim Dounin1-2/+4
2011-09-15Keepalive support in fastcgi.Maxim Dounin1-7/+69
By default follow the old behaviour, i.e. FASTCGI_KEEP_CONN flag isn't set in request and application is responsible for closing connection once request is done. To keep connections alive fastcgi_keep_conn must be activated.
2011-08-19Fix ignored headers handling in fastcgi/scgi/uwsgi.Maxim Dounin1-1/+9
The bug had appeared in r3561 (fastcgi), r3638 (scgi), r3567 (uwsgi).
2011-07-29update r3945 with more descriptive error messageIgor Sysoev1-0/+2
2011-04-04fix case when a host in fastcgi_pass, scgi_pass, and uwsgi_passIgor Sysoev1-6/+1
is given by expression and refers to a defined upstream
2011-01-20fix large stderr handling without http cacheIgor Sysoev1-1/+2
patch by Maxim Dounin the bug has been introduced in r3461
2010-08-03fix fastcgi_split_path_info, if URI was not fully capturedIgor Sysoev1-2/+2
2010-08-03inherit proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass insideIgor Sysoev1-0/+8
a limit_except block if no handler was defined for the block
2010-08-02fix directive typeIgor Sysoev1-4/+4
2010-07-19add warnings for proxy_no_cache and fastcgi_no_cacheIgor Sysoev1-0/+6
2010-07-19proxy_cache_pass, fastcgi_cache_bypass, uwsgi_cache_bypass, scgi_cache_bypassIgor Sysoev1-0/+11
2010-07-14use ngx_http_test_predicates(), ngx_http_set_predicate_slot()Igor Sysoev1-1/+1
delete ngx_http_cache(), ngx_http_no_cache_set_slot()
2010-07-02do not use a cache headers set to hideIgor Sysoev1-25/+1
2010-07-02use shared ngx_http_upstream_ignore_headers_masks[]Igor Sysoev1-10/+1
2010-06-08change variable namesIgor Sysoev1-19/+21
2010-06-04do not pass if-... headers for cacheable fastcgi responsesIgor Sysoev1-0/+63
2010-06-03rename variable to conform to the next commitIgor Sysoev1-5/+5
2010-06-03allow fastcgi_param to override client headers using HTTP_ parametersIgor Sysoev1-7/+110
2010-06-03add client request headers debug logging in fastcgiIgor Sysoev1-16/+20
2010-06-02remove the special static fastcgi_param values processing,Igor Sysoev1-70/+26
because it is anyway very seldom case
2010-05-24proxy_no_cache and fastcgi_no_cacheIgor Sysoev1-0/+11