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