annotate conf/fastcgi_params @ 7631:b4dbf8b98f9a

Fixed premature background subrequest finalization. When "aio" or "aio threads" is used while processing the response body of an in-memory background subrequest, the subrequest could be finalized with an aio operation still in progress. Upon aio completion either parent request is woken or the old r->write_event_handler is called again. The latter may result in request errors. In either case post_subrequest handler is never called with the full response body, which is typically expected when using in-memory subrequests. Currently in nginx background subrequests are created by the upstream module and the mirror module. The issue does not manifest itself with these subrequests because they are header-only. But it can manifest itself with third-party modules which create in-memory background subrequests.
author Dmitry Volyntsev <xeioex@nginx.com>
date Mon, 02 Mar 2020 20:07:36 +0300
parents 62869a9b2e7d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
537
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 fastcgi_param QUERY_STRING $query_string;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
3 fastcgi_param REQUEST_METHOD $request_method;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4 fastcgi_param CONTENT_TYPE $content_type;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5 fastcgi_param CONTENT_LENGTH $content_length;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7 fastcgi_param SCRIPT_NAME $fastcgi_script_name;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 fastcgi_param REQUEST_URI $request_uri;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 fastcgi_param DOCUMENT_URI $document_uri;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10 fastcgi_param DOCUMENT_ROOT $document_root;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
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
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15 fastcgi_param GATEWAY_INTERFACE CGI/1.1;
1330
badefafbf7f3 add $nginx_version
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
16 fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
537
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
17
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
18 fastcgi_param REMOTE_ADDR $remote_addr;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
19 fastcgi_param REMOTE_PORT $remote_port;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20 fastcgi_param SERVER_ADDR $server_addr;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 fastcgi_param SERVER_PORT $server_port;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 fastcgi_param SERVER_NAME $server_name;
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
24 # PHP only, required if PHP was built with --enable-force-cgi-redirect
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
25 fastcgi_param REDIRECT_STATUS 200;