Mercurial > hg > nginx
annotate conf/fastcgi_params @ 7514:319242d2ddc9
Upstream: background cache update before cache send (ticket #1782).
In case of filter finalization, essential request fields like r->uri,
r->args etc could be changed, which affected the cache update subrequest.
Also, after filter finalization r->cache could be set to NULL, leading to
null pointer dereference in ngx_http_upstream_cache_background_update().
The fix is to create background cache update subrequest before sending the
cached response.
Since initial introduction in 1aeaae6e9446 (1.11.10) background cache update
subrequest was created after sending the cached response because otherwise it
blocked the parent request output. In 9552758a786e (1.13.1) background
subrequests were introduced to eliminate the delay before sending the final
part of the cached response. This also made it possible to create the
background cache update subrequest before sending the response.
Note that creating the subrequest earlier does not change the fact that in case
of filter finalization the background cache update subrequest will likely not
have enough time to successfully update the cache entry. Filter finalization
leads to the main request termination as soon the current iteration of request
processing is complete.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Mon, 03 Jun 2019 20:33:26 +0300 |
parents | 62869a9b2e7d |
children |
rev | line source |
---|---|
537 | 1 |
2 fastcgi_param QUERY_STRING $query_string; | |
3 fastcgi_param REQUEST_METHOD $request_method; | |
4 fastcgi_param CONTENT_TYPE $content_type; | |
5 fastcgi_param CONTENT_LENGTH $content_length; | |
6 | |
7 fastcgi_param SCRIPT_NAME $fastcgi_script_name; | |
8 fastcgi_param REQUEST_URI $request_uri; | |
9 fastcgi_param DOCUMENT_URI $document_uri; | |
10 fastcgi_param DOCUMENT_ROOT $document_root; | |
11 fastcgi_param SERVER_PROTOCOL $server_protocol; | |
6168
62869a9b2e7d
Added the REQUEST_SCHEME parameter.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4333
diff
changeset
|
12 fastcgi_param REQUEST_SCHEME $scheme; |
4333
352a7b025f2e
Added HTTPS param with Apache-like behaviour to fastcgi/scgi/uwsgi_params (fixes #38).
Valentin Bartenev <vbart@nginx.com>
parents:
1330
diff
changeset
|
13 fastcgi_param HTTPS $https if_not_empty; |
537 | 14 |
15 fastcgi_param GATEWAY_INTERFACE CGI/1.1; | |
1330 | 16 fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; |
537 | 17 |
18 fastcgi_param REMOTE_ADDR $remote_addr; | |
19 fastcgi_param REMOTE_PORT $remote_port; | |
20 fastcgi_param SERVER_ADDR $server_addr; | |
21 fastcgi_param SERVER_PORT $server_port; | |
22 fastcgi_param SERVER_NAME $server_name; | |
23 | |
24 # PHP only, required if PHP was built with --enable-force-cgi-redirect | |
25 fastcgi_param REDIRECT_STATUS 200; |