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