annotate xml/en/docs/http/ngx_http_scgi_module.xml @ 1353:25db29c8875e

Documented how the "Vary" response header field affects caching.
author Ruslan Ermilov <ru@nginx.com>
date Fri, 14 Nov 2014 10:40:00 +0300
parents dbb618f60a54
children 91f5c089f4ca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1 <?xml version="1.0"?>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
2
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
3 <!--
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
4 Copyright (C) Igor Sysoev
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
5 Copyright (C) Nginx, Inc.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
6 -->
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
7
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
9
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
10 <module name="Module ngx_http_scgi_module"
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
11 link="/en/docs/http/ngx_http_scgi_module.html"
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
12 lang="en"
1353
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
13 rev="12">
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
14
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
15 <section id="summary">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
16
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
17 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
18 The <literal>ngx_http_scgi_module</literal> module allows passing
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
19 requests to an SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
20 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
21
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
22 </section>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
23
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
24
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
25 <section id="example" name="Example Configuration">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
26
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
27 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
28 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
29 location / {
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
30 include scgi_params;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
31 scgi_pass localhost:9000;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
32 }
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
33 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
34 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
35
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
36 </section>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
37
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
38
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
39 <section id="directives" name="Directives">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
40
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
41 <directive name="scgi_bind">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
42 <syntax><value>address</value> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
43 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
44 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
45 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
46 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
47
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
48 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
49 Makes outgoing connections to an SCGI server originate
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
50 from the specified local IP <value>address</value>.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
51 Parameter value can contain variables (1.3.12).
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
52 The special value <literal>off</literal> (1.3.12) cancels the effect
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
53 of the <literal>scgi_bind</literal> directive
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
54 inherited from the previous configuration level, which allows the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
55 system to auto-assign the local IP address.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
56 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
57
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
58 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
59
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
60
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
61 <directive name="scgi_buffer_size">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
62 <syntax><value>size</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
63 <default>4k|8k</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
64 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
65 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
66 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
67
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
68 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
69 Sets the <value>size</value> of the buffer used for reading the first part
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
70 of the response received from the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
71 This part usually contains a small response header.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
72 By default, the buffer size is equal to the size of one
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
73 buffer set by the <link id="scgi_buffers"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
74 It can be made smaller, however.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
75 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
76
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
77 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
78
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
79
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
80 <directive name="scgi_buffering">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
81 <syntax><literal>on</literal> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
82 <default>on</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
83 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
84 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
85 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
86
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
87 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
88 Enables or disables buffering of responses from the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
89 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
90
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
91 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
92 When buffering is enabled, nginx receives a response from the SCGI server
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
93 as soon as possible, saving it into the buffers set by the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
94 <link id="scgi_buffer_size"/> and <link id="scgi_buffers"/> directives.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
95 If the whole response does not fit into memory, a part of it can be saved
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
96 to a <link id="scgi_temp_path">temporary file</link> on the disk.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
97 Writing to temporary files is controlled by the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
98 <link id="scgi_max_temp_file_size"/> and
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
99 <link id="scgi_temp_file_write_size"/> directives.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
100 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
101
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
102 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
103 When buffering is disabled, the response is passed to a client synchronously,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
104 immediately as it is received.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
105 nginx will not try to read the whole response from the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
106 The maximum size of the data that nginx can receive from the server
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
107 at a time is set by the <link id="scgi_buffer_size"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
108 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
109
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
110 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
111 Buffering can also be enabled or disabled by passing
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
112 “<literal>yes</literal>” or “<literal>no</literal>” in the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
113 <header>X-Accel-Buffering</header> response header field.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
114 This capability can be disabled using the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
115 <link id="scgi_ignore_headers"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
116 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
117
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
118 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
119
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
120
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
121 <directive name="scgi_buffers">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
122 <syntax><value>number</value> <value>size</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
123 <default>8 4k|8k</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
124 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
125 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
126 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
127
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
128 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
129 Sets the <value>number</value> and <value>size</value> of the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
130 buffers used for reading a response from the SCGI server,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
131 for a single connection.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
132 By default, the buffer size is equal to one memory page.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
133 This is either 4K or 8K, depending on a platform.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
134 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
135
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
136 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
137
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
138
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
139 <directive name="scgi_busy_buffers_size">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
140 <syntax><value>size</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
141 <default>8k|16k</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
142 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
143 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
144 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
145
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
146 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
147 When <link id="scgi_buffering">buffering</link> of responses from the SCGI
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
148 server is enabled, limits the total <value>size</value> of buffers that
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
149 can be busy sending a response to the client while the response is not
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
150 yet fully read.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
151 In the meantime, the rest of the buffers can be used for reading the response
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
152 and, if needed, buffering part of the response to a temporary file.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
153 By default, <value>size</value> is limited by the size of two buffers set by the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
154 <link id="scgi_buffer_size"/> and <link id="scgi_buffers"/> directives.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
155 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
156
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
157 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
158
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
159
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
160 <directive name="scgi_cache">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
161 <syntax><value>zone</value> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
162 <default>off</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
163 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
164 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
165 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
166
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
167 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
168 Defines a shared memory zone used for caching.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
169 The same zone can be used in several places.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
170 The <literal>off</literal> parameter disables caching inherited
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
171 from the previous configuration level.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
172 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
173
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
174 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
175
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
176
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
177 <directive name="scgi_cache_bypass">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
178 <syntax><value>string</value> ...</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
179 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
180 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
181 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
182 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
183
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
184 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
185 Defines conditions under which the response will not be taken from a cache.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
186 If at least one value of the string parameters is not empty and is not
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
187 equal to “0” then the response will not be taken from the cache:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
188 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
189 scgi_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
190 scgi_cache_bypass $http_pragma $http_authorization;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
191 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
192 Can be used along with the <link id="scgi_no_cache"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
193 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
194
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
195 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
196
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
197
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
198 <directive name="scgi_cache_key">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
199 <syntax><value>string</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
200 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
201 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
202 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
203 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
204
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
205 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
206 Defines a key for caching, for example
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
207 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
208 scgi_cache_key localhost:9000$request_uri;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
209 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
210 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
211
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
212 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
213
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
214
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
215 <directive name="scgi_cache_lock">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
216 <syntax><literal>on</literal> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
217 <default>off</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
218 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
219 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
220 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
221 <appeared-in>1.1.12</appeared-in>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
222
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
223 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
224 When enabled, only one request at a time will be allowed to populate
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
225 a new cache element identified according to the <link id="scgi_cache_key"/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
226 directive by passing a request to an SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
227 Other requests of the same cache element will either wait
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
228 for a response to appear in the cache or the cache lock for
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
229 this element to be released, up to the time set by the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
230 <link id="scgi_cache_lock_timeout"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
231 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
232
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
233 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
234
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
235
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
236 <directive name="scgi_cache_lock_timeout">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
237 <syntax><value>time</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
238 <default>5s</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
239 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
240 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
241 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
242 <appeared-in>1.1.12</appeared-in>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
243
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
244 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
245 Sets a timeout for <link id="scgi_cache_lock"/>.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
246 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
247
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
248 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
249
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
250
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
251 <directive name="scgi_cache_methods">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
252 <syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
253 <literal>GET</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
254 <literal>HEAD</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
255 <literal>POST</literal>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
256 ...</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
257 <default>GET HEAD</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
258 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
259 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
260 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
261
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
262 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
263 If the client request method is listed in this directive then
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
264 the response will be cached.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
265 “<literal>GET</literal>” and “<literal>HEAD</literal>” methods are always
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
266 added to the list, though it is recommended to specify them explicitly.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
267 See also the <link id="scgi_no_cache"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
268 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
269
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
270 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
271
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
272
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
273 <directive name="scgi_cache_min_uses">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
274 <syntax><value>number</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
275 <default>1</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
276 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
277 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
278 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
279
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
280 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
281 Sets the <value>number</value> of requests after which the response
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
282 will be cached.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
283 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
284
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
285 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
286
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
287
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
288 <directive name="scgi_cache_path">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
289 <syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
290 <value>path</value>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
291 [<literal>levels</literal>=<value>levels</value>]
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
292 <literal>keys_zone</literal>=<value>name</value>:<value>size</value>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
293 [<literal>inactive</literal>=<value>time</value>]
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
294 [<literal>max_size</literal>=<value>size</value>]
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
295 [<literal>loader_files</literal>=<value>number</value>]
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
296 [<literal>loader_sleep</literal>=<value>time</value>]
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
297 [<literal>loader_threshold</literal>=<value>time</value>]</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
298 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
299 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
300
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
301 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
302 Sets the path and other parameters of a cache.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
303 Cache data are stored in files.
1190
dd4cfc6ce770 Corrected description of *_cache_path file names.
Ruslan Ermilov <ru@nginx.com>
parents: 1189
diff changeset
304 The file name in a cache is a result of
dd4cfc6ce770 Corrected description of *_cache_path file names.
Ruslan Ermilov <ru@nginx.com>
parents: 1189
diff changeset
305 applying the MD5 function to the
dd4cfc6ce770 Corrected description of *_cache_path file names.
Ruslan Ermilov <ru@nginx.com>
parents: 1189
diff changeset
306 <link id="scgi_cache_key">cache key</link>.
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
307 The <literal>levels</literal> parameter defines hierarchy levels of a cache.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
308 For example, in the following configuration
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
309 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
310 scgi_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
311 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
312 file names in a cache will look like this:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
313 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
314 /data/nginx/cache/<emphasis>c</emphasis>/<emphasis>29</emphasis>/b7f54b2df7773722d382f4809d650<emphasis>29c</emphasis>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
315 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
316 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
317
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
318 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
319 A cached response is first written to a temporary file,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
320 and then the file is renamed.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
321 Starting from version 0.8.9, temporary files and the cache can be put on
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
322 different file systems.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
323 However, be aware that in this case a file is copied
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
324 across two file systems instead of the cheap renaming operation.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
325 It is thus recommended that for any given location both cache and a directory
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
326 holding temporary files, set by the <link id="scgi_temp_path"/> directive,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
327 are put on the same file system.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
328 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
329
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
330 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
331 In addition, all active keys and information about data are stored
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
332 in a shared memory zone, whose <value>name</value> and <value>size</value>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
333 are configured by the <literal>keys_zone</literal> parameter.
1189
f25d00109de0 Documented cache keys_zone memory estimates.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1185
diff changeset
334 One megabyte zone can store about 8 thousand keys.
f25d00109de0 Documented cache keys_zone memory estimates.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1185
diff changeset
335 </para>
f25d00109de0 Documented cache keys_zone memory estimates.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1185
diff changeset
336
f25d00109de0 Documented cache keys_zone memory estimates.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1185
diff changeset
337 <para>
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
338 Cached data that are not accessed during the time specified by the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
339 <literal>inactive</literal> parameter get removed from the cache
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
340 regardless of their freshness.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
341 By default, <literal>inactive</literal> is set to 10 minutes.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
342 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
343
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
344 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
345 The special “cache manager” process monitors the maximum cache size set
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
346 by the <literal>max_size</literal> parameter.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
347 When this size is exceeded, it removes the least recently used data.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
348 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
349
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
350 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
351 A minute after the start the special “cache loader” process is activated.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
352 It loads information about previously cached data stored on file system
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
353 into a cache zone.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
354 The loading is done in iterations.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
355 During one iteration no more than <literal>loader_files</literal> items
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
356 are loaded (by default, 100).
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
357 Besides, the duration of one iteration is limited by the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
358 <literal>loader_threshold</literal> parameter (by default, 200 milliseconds).
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
359 Between iterations, a pause configured by the <literal>loader_sleep</literal>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
360 parameter (by default, 50 milliseconds) is made.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
361 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
362
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
363 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
364
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
365
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
366 <directive name="scgi_cache_purge">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
367 <syntax>string ...</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
368 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
369 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
370 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
371 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
372 <appeared-in>1.5.7</appeared-in>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
373
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
374 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
375 Defines conditions under which the request will be considered a cache
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
376 purge request.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
377 If at least one value of the string parameters is not empty and is not equal
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
378 to “0” then the cache entry with a corresponding
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
379 <link id="scgi_cache_key">cache key</link> is removed.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
380 The result of successful operation is indicated by returning
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
381 the <http-status code="204" text="No Content"/> response.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
382 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
383
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
384 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
385 If the <link id="scgi_cache_key">cache key</link> of a purge request ends
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
386 with an asterisk (“<literal>*</literal>”), all cache entries matching the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
387 wildcard key will be removed from the cache.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
388 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
389
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
390 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
391 Example configuration:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
392 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
393 scgi_cache_path /data/nginx/cache keys_zone=cache_zone:10m;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
394
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
395 map $request_method $purge_method {
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
396 PURGE 1;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
397 default 0;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
398 }
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
399
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
400 server {
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
401 ...
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
402 location / {
1185
f9c8336fe43c Aligned configuration examples with fastcgi/scgi_cache_purge.
Ruslan Ermilov <ru@nginx.com>
parents: 1184
diff changeset
403 scgi_pass backend;
f9c8336fe43c Aligned configuration examples with fastcgi/scgi_cache_purge.
Ruslan Ermilov <ru@nginx.com>
parents: 1184
diff changeset
404 scgi_cache cache_zone;
f9c8336fe43c Aligned configuration examples with fastcgi/scgi_cache_purge.
Ruslan Ermilov <ru@nginx.com>
parents: 1184
diff changeset
405 scgi_cache_key $uri;
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
406 scgi_cache_purge $purge_method;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
407 }
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
408 }
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
409 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
410 <note>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
411 This functionality is available as part of our
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
412 <commercial_version>commercial subscription</commercial_version>.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
413 </note>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
414 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
415
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
416 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
417
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
418
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
419 <directive name="scgi_cache_revalidate">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
420 <syntax><literal>on</literal> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
421 <default>off</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
422 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
423 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
424 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
425 <appeared-in>1.5.7</appeared-in>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
426
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
427 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
428 Enables revalidation of expired cache items using conditional requests with
1246
5be7716a5684 Documented If-None-Match in proxy_cache_revalidate and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1190
diff changeset
429 the <header>If-Modified-Since</header> and <header>If-None-Match</header>
5be7716a5684 Documented If-None-Match in proxy_cache_revalidate and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1190
diff changeset
430 header fields.
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
431 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
432
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
433 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
434
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
435
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
436 <directive name="scgi_cache_use_stale">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
437 <syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
438 <literal>error</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
439 <literal>timeout</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
440 <literal>invalid_header</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
441 <literal>updating</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
442 <literal>http_500</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
443 <literal>http_503</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
444 <literal>http_403</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
445 <literal>http_404</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
446 <literal>off</literal>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
447 ...</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
448 <default>off</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
449 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
450 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
451 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
452
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
453 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
454 Determines in which cases a stale cached response can be used
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
455 when an error occurs during communication with the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
456 The directive’s parameters match the parameters of the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
457 <link id="scgi_next_upstream"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
458 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
459
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
460 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
461 Additionally, the <literal>updating</literal> parameter permits
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
462 using a stale cached response if it is currently being updated.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
463 This allows minimizing the number of accesses to SCGI servers
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
464 when updating cached data.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
465 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
466
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
467 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
468 To minimize the number of accesses to SCGI servers when
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
469 populating a new cache element, the <link id="scgi_cache_lock"/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
470 directive can be used.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
471 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
472
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
473 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
474
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
475
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
476 <directive name="scgi_cache_valid">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
477 <syntax>[<value>code</value> ...] <value>time</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
478 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
479 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
480 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
481 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
482
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
483 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
484 Sets caching time for different response codes.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
485 For example, the following directives
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
486 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
487 scgi_cache_valid 200 302 10m;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
488 scgi_cache_valid 404 1m;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
489 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
490 set 10 minutes of caching for responses with codes 200 and 302
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
491 and 1 minute for responses with code 404.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
492 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
493
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
494 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
495 If only caching <value>time</value> is specified
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
496 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
497 scgi_cache_valid 5m;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
498 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
499 then only 200, 301, and 302 responses are cached.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
500 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
501
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
502 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
503 In addition, the <literal>any</literal> parameter can be specified
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
504 to cache any responses:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
505 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
506 scgi_cache_valid 200 302 10m;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
507 scgi_cache_valid 301 1h;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
508 scgi_cache_valid any 1m;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
509 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
510 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
511
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
512 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
513 Parameters of caching can also be set directly
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
514 in the response header.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
515 This has higher priority than setting of caching time using the directive.
1349
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
516 <list type="bullet" compact="no">
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
517
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
518 <listitem>
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
519 The <header>X-Accel-Expires</header> header field sets caching time of a
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
520 response in seconds.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
521 The zero value disables caching for a response.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
522 If the value starts with the <literal>@</literal> prefix, it sets an absolute
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
523 time in seconds since Epoch, up to which the response may be cached.
1349
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
524 </listitem>
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
525
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
526 <listitem>
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
527 If the header does not include the <header>X-Accel-Expires</header> field,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
528 parameters of caching may be set in the header fields
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
529 <header>Expires</header> or <header>Cache-Control</header>.
1349
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
530 </listitem>
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
531
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
532 <listitem>
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
533 If the header includes the <header>Set-Cookie</header> field, such a
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
534 response will not be cached.
1349
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
535 </listitem>
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
536
1353
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
537 <listitem>
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
538 If the header includes the <header>Vary</header> field
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
539 with the special value “<literal>*</literal>”, such a
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
540 response will not be cached (1.7.7).
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
541 If the header includes the <header>Vary</header> field
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
542 with another value, such a response will be cached
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
543 taking into account the corresponding request header fields (1.7.7).
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
544 </listitem>
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
545
1349
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
546 </list>
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
547 Processing of one or more of these response header fields can be disabled
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
548 using the <link id="scgi_ignore_headers"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
549 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
550
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
551 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
552
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
553
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
554 <directive name="scgi_connect_timeout">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
555 <syntax><value>time</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
556 <default>60s</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
557 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
558 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
559 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
560
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
561 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
562 Defines a timeout for establishing a connection with an SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
563 It should be noted that this timeout cannot usually exceed 75 seconds.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
564 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
565
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
566 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
567
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
568
1337
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
569 <directive name="scgi_force_ranges">
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
570 <syntax><literal>on</literal> | <literal>off</literal></syntax>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
571 <default>off</default>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
572 <context>http</context>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
573 <context>server</context>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
574 <context>location</context>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
575 <appeared-in>1.7.7</appeared-in>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
576
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
577 <para>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
578 Enables byte-range support
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
579 for both cached and uncached responses from the SCGI server
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
580 regardless of the <header>Accept-Ranges</header> field in these responses.
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
581 </para>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
582
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
583 </directive>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
584
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
585
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
586 <directive name="scgi_hide_header">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
587 <syntax><value>field</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
588 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
589 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
590 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
591 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
592
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
593 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
594 By default,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
595 nginx does not pass the header fields <header>Status</header> and
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
596 <header>X-Accel-...</header> from the response of an SCGI
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
597 server to a client.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
598 The <literal>scgi_hide_header</literal> directive sets additional fields
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
599 that will not be passed.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
600 If, on the contrary, the passing of fields needs to be permitted,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
601 the <link id="scgi_pass_header"/> directive can be used.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
602 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
603
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
604 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
605
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
606
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
607 <directive name="scgi_ignore_client_abort">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
608 <syntax><literal>on</literal> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
609 <default>off</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
610 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
611 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
612 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
613
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
614 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
615 Determines whether the connection with an SCGI server should be
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
616 closed when a client closes the connection without waiting
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
617 for a response.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
618 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
619
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
620 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
621
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
622
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
623 <directive name="scgi_ignore_headers">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
624 <syntax><value>field</value> ...</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
625 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
626 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
627 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
628 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
629
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
630 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
631 Disables processing of certain response header fields from the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
632 The following fields can be ignored: <header>X-Accel-Redirect</header>,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
633 <header>X-Accel-Expires</header>, <header>X-Accel-Limit-Rate</header> (1.1.6),
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
634 <header>X-Accel-Buffering</header> (1.1.6),
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
635 <header>X-Accel-Charset</header> (1.1.6), <header>Expires</header>,
1345
da296387cdac Documented the Vary support in proxy_ignore_headers and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1343
diff changeset
636 <header>Cache-Control</header>, <header>Set-Cookie</header> (0.8.44),
da296387cdac Documented the Vary support in proxy_ignore_headers and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1343
diff changeset
637 and <header>Vary</header> (1.7.7).
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
638 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
639
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
640 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
641 If not disabled, processing of these header fields has the following
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
642 effect:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
643 <list type="bullet" compact="no">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
644
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
645 <listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
646 <header>X-Accel-Expires</header>, <header>Expires</header>,
1345
da296387cdac Documented the Vary support in proxy_ignore_headers and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1343
diff changeset
647 <header>Cache-Control</header>, <header>Set-Cookie</header>,
da296387cdac Documented the Vary support in proxy_ignore_headers and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1343
diff changeset
648 and <header>Vary</header>
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
649 set the parameters of response <link id="scgi_cache_valid">caching</link>;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
650 </listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
651
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
652 <listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
653 <header>X-Accel-Redirect</header> performs an
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
654 <link doc="ngx_http_core_module.xml" id="internal">internal
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
655 redirect</link> to the specified URI;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
656 </listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
657
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
658 <listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
659 <header>X-Accel-Limit-Rate</header> sets the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
660 <link doc="ngx_http_core_module.xml" id="limit_rate">rate
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
661 limit</link> for transmission of a response to a client;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
662 </listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
663
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
664 <listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
665 <header>X-Accel-Buffering</header> enables or disables
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
666 <link id="scgi_buffering">buffering</link> of a response;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
667 </listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
668
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
669 <listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
670 <header>X-Accel-Charset</header> sets the desired
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
671 <link doc="ngx_http_charset_module.xml" id="charset"/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
672 of a response.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
673 </listitem>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
674
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
675 </list>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
676 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
677
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
678 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
679
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
680
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
681 <directive name="scgi_intercept_errors">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
682 <syntax><literal>on</literal> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
683 <default>off</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
684 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
685 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
686 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
687
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
688 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
689 Determines whether an SCGI server responses with codes greater than or equal
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
690 to 300 should be passed to a client or be redirected to nginx for processing
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
691 with the <link doc="ngx_http_core_module.xml" id="error_page"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
692 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
693
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
694 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
695
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
696
1342
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
697 <directive name="scgi_limit_rate">
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
698 <syntax><value>rate</value></syntax>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
699 <default>0</default>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
700 <context>http</context>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
701 <context>server</context>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
702 <context>location</context>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
703 <appeared-in>1.7.7</appeared-in>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
704
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
705 <para>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
706 Limits the speed of reading the response from the SCGI server.
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
707 The <value>rate</value> is specified in bytes per second.
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
708 The zero value disables rate limiting.
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
709 The limit is set per a request, and so if nginx simultaneously opens
1343
1bdde28e359b Fixed fallouts from the previous change.
Ruslan Ermilov <ru@nginx.com>
parents: 1342
diff changeset
710 two connections to the SCGI server,
1bdde28e359b Fixed fallouts from the previous change.
Ruslan Ermilov <ru@nginx.com>
parents: 1342
diff changeset
711 the overall rate will be twice as much as the specified limit.
1342
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
712 The limitation works only if
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
713 <link id="scgi_buffering">buffering</link> of responses from the SCGI
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
714 server is enabled.
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
715 </para>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
716
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
717 </directive>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
718
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
719
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
720 <directive name="scgi_max_temp_file_size">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
721 <syntax><value>size</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
722 <default>1024m</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
723 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
724 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
725 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
726
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
727 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
728 When <link id="scgi_buffering">buffering</link> of responses from the SCGI
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
729 server is enabled, and the whole response does not fit into the buffers
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
730 set by the <link id="scgi_buffer_size"/> and <link id="scgi_buffers"/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
731 directives, a part of the response can be saved to a temporary file.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
732 This directive sets the maximum <value>size</value> of the temporary file.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
733 The size of data written to the temporary file at a time is set
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
734 by the <link id="scgi_temp_file_write_size"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
735 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
736
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
737 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
738 The zero value disables buffering of responses to temporary files.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
739 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
740
1352
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
741 <para>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
742 <note>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
743 This restriction does not apply to responses
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
744 that will be <link id="scgi_cache">cached</link>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
745 or <link id="scgi_store">stored</link> on disk.
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
746 </note>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
747 </para>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
748
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
749 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
750
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
751
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
752 <directive name="scgi_next_upstream">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
753 <syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
754 <literal>error</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
755 <literal>timeout</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
756 <literal>invalid_header</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
757 <literal>http_500</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
758 <literal>http_503</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
759 <literal>http_403</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
760 <literal>http_404</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
761 <literal>off</literal>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
762 ...</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
763 <default>error timeout</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
764 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
765 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
766 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
767
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
768 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
769 Specifies in which cases a request should be passed to the next server:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
770 <list type="tag">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
771
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
772 <tag-name><literal>error</literal></tag-name>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
773 <tag-desc>an error occurred while establishing a connection with the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
774 server, passing a request to it, or reading the response header;</tag-desc>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
775
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
776 <tag-name><literal>timeout</literal></tag-name>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
777 <tag-desc>a timeout has occurred while establishing a connection with the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
778 server, passing a request to it, or reading the response header;</tag-desc>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
779
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
780 <tag-name><literal>invalid_header</literal></tag-name>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
781 <tag-desc>a server returned an empty or invalid response;</tag-desc>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
782
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
783 <tag-name><literal>http_500</literal></tag-name>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
784 <tag-desc>a server returned a response with the code 500;</tag-desc>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
785
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
786 <tag-name><literal>http_503</literal></tag-name>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
787 <tag-desc>a server returned a response with the code 503;</tag-desc>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
788
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
789 <tag-name><literal>http_403</literal></tag-name>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
790 <tag-desc>a server returned a response with the code 403;</tag-desc>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
791
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
792 <tag-name><literal>http_404</literal></tag-name>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
793 <tag-desc>a server returned a response with the code 404;</tag-desc>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
794
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
795 <tag-name><literal>off</literal></tag-name>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
796 <tag-desc>disables passing a request to the next server.</tag-desc>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
797
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
798 </list>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
799 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
800
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
801 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
802 One should bear in mind that passing a request to the next server is
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
803 only possible if nothing has been sent to a client yet.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
804 That is, if an error or timeout occurs in the middle of the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
805 transferring of a response, fixing this is impossible.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
806 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
807
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
808 <para>
1289
57fc39924d42 Proxy/memcached/fastcgi/scgi/uwsgi: updated link in _next_upstream directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1246
diff changeset
809 The directive also defines what is considered an
57fc39924d42 Proxy/memcached/fastcgi/scgi/uwsgi: updated link in _next_upstream directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1246
diff changeset
810 <link doc="ngx_http_upstream_module.xml" id="max_fails">unsuccessful
57fc39924d42 Proxy/memcached/fastcgi/scgi/uwsgi: updated link in _next_upstream directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1246
diff changeset
811 attempt</link> of communication with a server.
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
812 The cases of <literal>error</literal>, <literal>timeout</literal> and
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
813 <literal>invalid_header</literal> are always considered unsuccessful attempts,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
814 even if they are not specified in the directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
815 The cases of <literal>http_500</literal> and <literal>http_503</literal> are
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
816 considered unsuccessful attempts only if they are specified in the directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
817 The cases of <literal>http_403</literal> and <literal>http_404</literal>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
818 are never considered unsuccessful attempts.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
819 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
820
1290
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
821 <para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
822 Passing a request to the next server can be limited by
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
823 <link id="scgi_next_upstream_tries">the number of tries</link>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
824 and by <link id="scgi_next_upstream_timeout">time</link>.
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
825 </para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
826
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
827 </directive>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
828
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
829
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
830 <directive name="scgi_next_upstream_timeout">
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
831 <syntax><value>time</value></syntax>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
832 <default>0</default>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
833 <context>http</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
834 <context>server</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
835 <context>location</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
836 <appeared-in>1.7.5</appeared-in>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
837
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
838 <para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
839 Limits the time allowed to pass a request to the
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
840 <link id="scgi_next_upstream">next server</link>.
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
841 The <literal>0</literal> value turns off this limitation.
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
842 </para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
843
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
844 </directive>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
845
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
846
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
847 <directive name="scgi_next_upstream_tries">
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
848 <syntax><value>number</value></syntax>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
849 <default>0</default>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
850 <context>http</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
851 <context>server</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
852 <context>location</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
853 <appeared-in>1.7.5</appeared-in>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
854
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
855 <para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
856 Limits the number of possible tries for passing a request to the
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
857 <link id="scgi_next_upstream">next server</link>.
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
858 The <literal>0</literal> value turns off this limitation.
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
859 </para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
860
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
861 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
862
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
863
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
864 <directive name="scgi_no_cache">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
865 <syntax><value>string</value> ...</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
866 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
867 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
868 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
869 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
870
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
871 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
872 Defines conditions under which the response will not be saved to a cache.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
873 If at least one value of the string parameters is not empty and is not
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
874 equal to “0” then the response will not be saved:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
875 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
876 scgi_no_cache $cookie_nocache $arg_nocache$arg_comment;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
877 scgi_no_cache $http_pragma $http_authorization;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
878 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
879 Can be used along with the <link id="scgi_cache_bypass"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
880 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
881
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
882 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
883
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
884
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
885 <directive name="scgi_param">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
886 <syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
887 <value>parameter</value> <value>value</value>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
888 [<literal>if_not_empty</literal>]</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
889 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
890 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
891 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
892 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
893
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
894 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
895 Sets a <value>parameter</value> that should be passed to the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
896 The <value>value</value> can contain text, variables, and their combination.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
897 These directives are inherited from the previous level if and
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
898 only if there are no
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
899 <literal>scgi_param</literal>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
900 directives defined on the current level.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
901 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
902
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
903 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
904 Standard
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
905 <link url="http://tools.ietf.org/html/rfc3875#section-4.1">CGI
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
906 environment variables</link>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
907 should be provided as SCGI headers, see the <path>scgi_params</path> file
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
908 provided in the distribution:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
909 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
910 location / {
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
911 include scgi_params;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
912 ...
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
913 }
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
914 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
915 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
916
1182
ec1097156f81 Scgi: restored if_not_empty lost during conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1180
diff changeset
917 <para>
ec1097156f81 Scgi: restored if_not_empty lost during conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1180
diff changeset
918 If a directive is specified with <literal>if_not_empty</literal> (1.1.11) then
ec1097156f81 Scgi: restored if_not_empty lost during conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1180
diff changeset
919 such a parameter will not be passed to the server until its value is not empty:
ec1097156f81 Scgi: restored if_not_empty lost during conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1180
diff changeset
920 <example>
ec1097156f81 Scgi: restored if_not_empty lost during conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1180
diff changeset
921 scgi_param HTTPS $https if_not_empty;
ec1097156f81 Scgi: restored if_not_empty lost during conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1180
diff changeset
922 </example>
ec1097156f81 Scgi: restored if_not_empty lost during conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1180
diff changeset
923 </para>
ec1097156f81 Scgi: restored if_not_empty lost during conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1180
diff changeset
924
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
925 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
926
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
927
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
928 <directive name="scgi_pass">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
929 <syntax><value>address</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
930 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
931 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
932 <context>if in location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
933
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
934 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
935 Sets the address of an SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
936 The address can be specified as a domain name or IP address,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
937 and an optional port:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
938 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
939 scgi_pass localhost:9000;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
940 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
941 or as a UNIX-domain socket path:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
942 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
943 scgi_pass unix:/tmp/scgi.socket;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
944 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
945 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
946
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
947 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
948 If a domain name resolves to several addresses, all of them will be
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
949 used in a round-robin fashion.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
950 In addition, an address can be specified as a
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
951 <link doc="ngx_http_upstream_module.xml">server group</link>.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
952 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
953
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
954 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
955
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
956
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
957 <directive name="scgi_pass_header">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
958 <syntax><value>field</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
959 <default/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
960 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
961 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
962 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
963
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
964 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
965 Permits passing <link id="scgi_hide_header">otherwise disabled</link> header
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
966 fields from an SCGI server to a client.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
967 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
968
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
969 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
970
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
971
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
972 <directive name="scgi_read_timeout">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
973 <syntax><value>time</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
974 <default>60s</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
975 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
976 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
977 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
978
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
979 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
980 Defines a timeout for reading a response from the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
981 The timeout is set only between two successive read operations,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
982 not for the transmission of the whole response.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
983 If the SCGI server does not transmit anything within this time,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
984 the connection is closed.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
985 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
986
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
987 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
988
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
989
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
990 <directive name="scgi_pass_request_body">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
991 <syntax><literal>on</literal> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
992 <default>on</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
993 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
994 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
995 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
996
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
997 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
998 Indicates whether the original request body is passed
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
999 to the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1000 See also the <link id="scgi_pass_request_headers"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1001 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1002
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1003 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1004
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1005
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1006 <directive name="scgi_pass_request_headers">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1007 <syntax><literal>on</literal> | <literal>off</literal></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1008 <default>on</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1009 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1010 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1011 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1012
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1013 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1014 Indicates whether the header fields of the original request are passed
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1015 to the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1016 See also the <link id="scgi_pass_request_body"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1017 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1018
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1019 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1020
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1021
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1022 <directive name="scgi_send_timeout">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1023 <syntax><value>time</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1024 <default>60s</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1025 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1026 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1027 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1028
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1029 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1030 Sets a timeout for transmitting a request to the SCGI server.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1031 The timeout is set only between two successive write operations,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1032 not for the transmission of the whole request.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1033 If the SCGI server does not receive anything within this time,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1034 the connection is closed.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1035 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1036
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1037 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1038
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1039
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1040 <directive name="scgi_store">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1041 <syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1042 <literal>on</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1043 <literal>off</literal> |
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1044 <value>string</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1045 <default>off</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1046 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1047 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1048 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1049
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1050 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1051 Enables saving of files to a disk.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1052 The <literal>on</literal> parameter saves files with paths
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1053 corresponding to the directives
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1054 <link doc="ngx_http_core_module.xml" id="alias"/> or
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1055 <link doc="ngx_http_core_module.xml" id="root"/>.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1056 The <literal>off</literal> parameter disables saving of files.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1057 In addition, the file name can be set explicitly using the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1058 <value>string</value> with variables:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1059 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1060 scgi_store /data/www$original_uri;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1061 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1062 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1063
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1064 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1065 The modification time of files is set according to the received
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1066 <header>Last-Modified</header> response header field.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1067 The response is first written to a temporary file,
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1068 and then the file is renamed.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1069 Starting from version 0.8.9, temporary files and the persistent store
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1070 can be put on different file systems.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1071 However, be aware that in this case a file is copied
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1072 across two file systems instead of the cheap renaming operation.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1073 It is thus recommended that for any given location both saved files and a
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1074 directory holding temporary files, set by the <link id="scgi_temp_path"/>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1075 directive, are put on the same file system.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1076 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1077
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1078 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1079 This directive can be used to create local copies of static unchangeable
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1080 files, e.g.:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1081 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1082 location /images/ {
1184
55857cbf562d Fixed alignment issues after mechanical conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1182
diff changeset
1083 root /data/www;
55857cbf562d Fixed alignment issues after mechanical conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1182
diff changeset
1084 error_page 404 = /fetch$uri;
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1085 }
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1086
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1087 location /fetch/ {
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1088 internal;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1089
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1090 scgi_pass backend:9000;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1091 ...
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1092
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1093 scgi_store on;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1094 scgi_store_access user:rw group:rw all:r;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1095 scgi_temp_path /data/temp;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1096
1184
55857cbf562d Fixed alignment issues after mechanical conversion from fastcgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1182
diff changeset
1097 alias /data/www/;
1180
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1098 }
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1099 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1100 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1101
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1102 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1103
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1104
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1105 <directive name="scgi_store_access">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1106 <syntax><value>users</value>:<value>permissions</value> ...</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1107 <default>user:rw</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1108 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1109 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1110 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1111
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1112 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1113 Sets access permissions for newly created files and directories, e.g.:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1114 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1115 scgi_store_access user:rw group:rw all:r;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1116 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1117 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1118
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1119 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1120 If any <literal>group</literal> or <literal>all</literal> access permissions
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1121 are specified then <literal>user</literal> permissions may be omitted:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1122 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1123 scgi_store_access group:rw all:r;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1124 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1125 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1126
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1127 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1128
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1129
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1130 <directive name="scgi_temp_file_write_size">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1131 <syntax><value>size</value></syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1132 <default>8k|16k</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1133 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1134 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1135 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1136
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1137 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1138 Limits the <value>size</value> of data written to a temporary file
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1139 at a time, when buffering of responses from the SCGI server
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1140 to temporary files is enabled.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1141 By default, <value>size</value> is limited by two buffers set by the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1142 <link id="scgi_buffer_size"/> and <link id="scgi_buffers"/> directives.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1143 The maximum size of a temporary file is set by the
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1144 <link id="scgi_max_temp_file_size"/> directive.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1145 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1146
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1147 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1148
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1149
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1150 <directive name="scgi_temp_path">
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1151 <syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1152 <value>path</value>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1153 [<value>level1</value>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1154 [<value>level2</value>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1155 [<value>level3</value>]]]</syntax>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1156 <default>scgi_temp</default>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1157 <context>http</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1158 <context>server</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1159 <context>location</context>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1160
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1161 <para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1162 Defines a directory for storing temporary files
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1163 with data received from SCGI servers.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1164 Up to three-level subdirectory hierarchy can be used underneath the specified
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1165 directory.
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1166 For example, in the following configuration
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1167 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1168 scgi_temp_path /spool/nginx/scgi_temp 1 2;
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1169 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1170 a temporary file might look like this:
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1171 <example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1172 /spool/nginx/scgi_temp/<emphasis>7</emphasis>/<emphasis>45</emphasis>/00000123<emphasis>457</emphasis>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1173 </example>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1174 </para>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1175
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1176 </directive>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1177
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1178 </section>
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1179
9d3beb5890eb Documented the scgi module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1180 </module>