annotate xml/en/docs/http/ngx_http_proxy_module.xml @ 3094:f7e9bd7de0f9 default tip

freenginx-1.27.3
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 13 Aug 2024 17:45:23 +0300
parents ca4c8ac67c0e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1 <?xml version="1.0"?>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2
580
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 575
diff changeset
3 <!--
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 575
diff changeset
4 Copyright (C) Igor Sysoev
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 575
diff changeset
5 Copyright (C) Nginx, Inc.
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 575
diff changeset
6 -->
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 575
diff changeset
7
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
9
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
10 <module name="Module ngx_http_proxy_module"
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
11 link="/en/docs/http/ngx_http_proxy_module.html"
589
764fbac1b8b4 Added document revision.
Ruslan Ermilov <ru@nginx.com>
parents: 580
diff changeset
12 lang="en"
3092
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
13 rev="78">
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
14
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
15 <section id="summary">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
16
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
17 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
18 The <literal>ngx_http_proxy_module</literal> module allows passing
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
19 requests to another server.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
20 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
21
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
22 </section>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
23
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
24
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
25 <section id="example" name="Example Configuration">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
26
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
27 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
28 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
29 location / {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
30 proxy_pass http://localhost:8000;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
31 proxy_set_header Host $host;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
32 proxy_set_header X-Real-IP $remote_addr;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
33 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
34 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
35 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
36
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
37 </section>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
38
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
39
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
40 <section id="directives" name="Directives">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
41
772
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
42 <directive name="proxy_bind">
1885
6839c258c473 Added <literal> tag to proxy bind transparent.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1838
diff changeset
43 <syntax>
6839c258c473 Added <literal> tag to proxy bind transparent.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1838
diff changeset
44 <value>address</value>
6839c258c473 Added <literal> tag to proxy bind transparent.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1838
diff changeset
45 [<literal>transparent</literal>] |
6839c258c473 Added <literal> tag to proxy bind transparent.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1838
diff changeset
46 <literal>off</literal></syntax>
772
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
47 <default/>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
48 <context>http</context>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
49 <context>server</context>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
50 <context>location</context>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
51 <appeared-in>0.8.22</appeared-in>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
52
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
53 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
54 Makes outgoing connections to a proxied server originate
1748
be371be7a5c8 Documented optional port for proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1717
diff changeset
55 from the specified local IP address with an optional port (1.11.2).
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
56 Parameter value can contain variables (1.3.12).
815
ed29fd8be462 *_bind: variables support and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 799
diff changeset
57 The special value <literal>off</literal> (1.3.12) cancels the effect
ed29fd8be462 *_bind: variables support and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 799
diff changeset
58 of the <literal>proxy_bind</literal> directive
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
59 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: 1717
diff changeset
60 system to auto-assign the local IP address and port.
772
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
61 </para>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
62
1696
d855e7cc3b2f Added the "transparent" parameter of proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1672
diff changeset
63 <para id="proxy_bind_transparent">
d855e7cc3b2f Added the "transparent" parameter of proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1672
diff changeset
64 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
65 outgoing connections to a proxied server originate
d855e7cc3b2f Added the "transparent" parameter of proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1672
diff changeset
66 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
67 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
68 <example>
d855e7cc3b2f Added the "transparent" parameter of proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1672
diff changeset
69 proxy_bind $remote_addr transparent;
d855e7cc3b2f Added the "transparent" parameter of proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1672
diff changeset
70 </example>
d855e7cc3b2f Added the "transparent" parameter of proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1672
diff changeset
71 In order for this parameter to work,
2090
a9a9a052b5bd Documented the "CAP_NET_RAW" capability for transparent proxying.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2069
diff changeset
72 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: 2069
diff changeset
73 <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: 2069
diff changeset
74 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: 2069
diff changeset
75 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: 2069
diff changeset
76 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: 2069
diff changeset
77 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
78 to intercept network traffic from the proxied server.
d855e7cc3b2f Added the "transparent" parameter of proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1672
diff changeset
79 </para>
d855e7cc3b2f Added the "transparent" parameter of proxy_bind and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1672
diff changeset
80
772
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
81 </directive>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
82
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
83
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
84 <directive name="proxy_buffer_size">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
85 <syntax><value>size</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
86 <default>4k|8k</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
87 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
88 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
89 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
90
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
91 <para>
1547
c340ebfeeed6 Deleted duplicate word in proxy_buffer_size for http.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1542
diff changeset
92 Sets the <value>size</value> of the buffer used for reading the first part
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
93 of the response received from the proxied server.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
94 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: 1547
diff changeset
95 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: 1547
diff changeset
96 This is either 4K or 8K, depending on a platform.
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
97 It can be made smaller, however.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
98 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
99
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
100 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
101
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
102
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
103 <directive name="proxy_buffering">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
104 <syntax><literal>on</literal> | <literal>off</literal></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
105 <default>on</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
106 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
107 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
108 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
109
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
110 <para>
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
111 Enables or disables buffering of responses from the proxied server.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
112 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
113
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
114 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
115 When buffering is enabled, nginx receives a response from the proxied server
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
116 as soon as possible, saving it into the buffers set by the
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
117 <link id="proxy_buffer_size"/> and <link id="proxy_buffers"/> directives.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
118 If the whole response does not fit into memory, a part of it can be saved
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
119 to a <link id="proxy_temp_path">temporary file</link> on the disk.
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
120 Writing to temporary files is controlled by the
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
121 <link id="proxy_max_temp_file_size"/> and
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
122 <link id="proxy_temp_file_write_size"/> directives.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
123 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
124
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
125 <para>
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
126 When buffering is disabled, the response is passed to a client synchronously,
362
db6774c4c699 Fixed translation.
Ruslan Ermilov <ru@nginx.com>
parents: 351
diff changeset
127 immediately as it is received.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
128 nginx will not try to read the whole response from the proxied server.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
129 The maximum size of the data that nginx can receive from the server
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
130 at a time is set by the <link id="proxy_buffer_size"/> directive.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
131 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
132
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
133 <para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
134 Buffering can also be enabled or disabled by passing
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
135 “<literal>yes</literal>” or “<literal>no</literal>” in the
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
136 <header>X-Accel-Buffering</header> response header field.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
137 This capability can be disabled using the
992
7cc496641627 Removed extraneous links.
Ruslan Ermilov <ru@nginx.com>
parents: 985
diff changeset
138 <link id="proxy_ignore_headers"/> directive.
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
139 </para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
140
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
141 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
142
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
143
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
144 <directive name="proxy_buffers">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
145 <syntax><value>number</value> <value>size</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
146 <default>8 4k|8k</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
147 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
148 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
149 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
150
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
151 <para>
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
152 Sets the <value>number</value> and <value>size</value> of the
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
153 buffers used for reading a response from the proxied server,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
154 for a single connection.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
155 By default, the buffer size is equal to one memory page.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
156 This is either 4K or 8K, depending on a platform.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
157 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
158
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
159 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
160
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
161
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
162 <directive name="proxy_busy_buffers_size">
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
163 <syntax><value>size</value></syntax>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
164 <default>8k|16k</default>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
165 <context>http</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
166 <context>server</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
167 <context>location</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
168
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
169 <para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
170 When <link id="proxy_buffering">buffering</link> of responses from the proxied
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
171 server is enabled, limits the total <value>size</value> of buffers that
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
172 can be busy sending a response to the client while the response is not
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
173 yet fully read.
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
174 In the meantime, the rest of the buffers can be used for reading the response
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
175 and, if needed, buffering part of the response to a temporary file.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
176 By default, <value>size</value> is limited by the size of two buffers set by the
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
177 <link id="proxy_buffer_size"/> and <link id="proxy_buffers"/> directives.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
178 </para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
179
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
180 </directive>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
181
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
182
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
183 <directive name="proxy_cache">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
184 <syntax><value>zone</value> | <literal>off</literal></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
185 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
186 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
187 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
188 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
189
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
190 <para>
575
ebcb351d9eb3 Consistently using the term "shared memory zone".
Ruslan Ermilov <ru@nginx.com>
parents: 535
diff changeset
191 Defines a shared memory zone used for caching.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
192 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: 1376
diff changeset
193 Parameter value can contain variables (1.7.9).
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
194 The <literal>off</literal> parameter disables caching inherited
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
195 from the previous configuration level.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
196 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
197
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
198 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
199
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
200
1909
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
201 <directive name="proxy_cache_background_update">
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
202 <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
203 <default>off</default>
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
204 <context>http</context>
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
205 <context>server</context>
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
206 <context>location</context>
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
207 <appeared-in>1.11.10</appeared-in>
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
208
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
209 <para>
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
210 Allows starting a background subrequest
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
211 to update an expired cache item,
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
212 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
213 Note that it is necessary to
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
214 <link id="proxy_cache_use_stale_updating">allow</link>
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
215 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
216 </para>
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 </directive>
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
219
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
220
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
221 <directive name="proxy_cache_bypass">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
222 <syntax><value>string</value> ...</syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
223 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
224 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
225 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
226 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
227
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
228 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
229 Defines conditions under which the response will not be taken from a cache.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
230 If at least one value of the string parameters is not empty and is not
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
231 equal to “0” then the response will not be taken from the cache:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
232 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
233 proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
234 proxy_cache_bypass $http_pragma $http_authorization;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
235 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
236 Can be used along with the <link id="proxy_no_cache"/> directive.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
237 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
238
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
239 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
240
1599
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
241 <directive name="proxy_cache_convert_head">
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
242 <syntax><literal>on</literal> | <literal>off</literal></syntax>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
243 <default>on</default>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
244 <context>http</context>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
245 <context>server</context>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
246 <context>location</context>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
247 <appeared-in>1.9.7</appeared-in>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
248
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
249 <para>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
250 Enables or disables the conversion of the “<literal>HEAD</literal>” method
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
251 to “<literal>GET</literal>” for caching.
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
252 When the conversion is disabled, the
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
253 <link id="proxy_cache_key">cache key</link> should be configured
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
254 to include the <var>$request_method</var>.
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
255 </para>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
256
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
257 </directive>
12714bbf9230 Documented the "proxy_cache_convert_head" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1587
diff changeset
258
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
259
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
260 <directive name="proxy_cache_key">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
261 <syntax><value>string</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
262 <default>$scheme$proxy_host$request_uri</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
263 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
264 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
265 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
266
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
267 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
268 Defines a key for caching, for example
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
269 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
270 proxy_cache_key "$host$request_uri $cookie_user";
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
271 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
272 By default, the directive’s value is close to the string
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
273 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
274 proxy_cache_key $scheme$proxy_host$uri$is_args$args;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
275 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
276 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
277
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
278 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
279
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
280
302
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
281 <directive name="proxy_cache_lock">
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
282 <syntax><literal>on</literal> | <literal>off</literal></syntax>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
283 <default>off</default>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
284 <context>http</context>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
285 <context>server</context>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
286 <context>location</context>
310
86732337c730 Added a historical information for proxy_cache_lock, proxy_cache_lock_timeout,
Ruslan Ermilov <ru@nginx.com>
parents: 302
diff changeset
287 <appeared-in>1.1.12</appeared-in>
302
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
288
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
289 <para>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
290 When enabled, only one request at a time will be allowed to populate
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
291 a new cache element identified according to the <link id="proxy_cache_key"/>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
292 directive by passing a request to a proxied server.
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
293 Other requests of the same cache element will either wait
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
294 for a response to appear in the cache or the cache lock for
302
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
295 this element to be released, up to the time set by the
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
296 <link id="proxy_cache_lock_timeout"/> directive.
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
297 </para>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
298
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
299 </directive>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
300
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
301
1376
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
302 <directive name="proxy_cache_lock_age">
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
303 <syntax><value>time</value></syntax>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
304 <default>5s</default>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
305 <context>http</context>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
306 <context>server</context>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
307 <context>location</context>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
308 <appeared-in>1.7.8</appeared-in>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
309
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
310 <para>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
311 If the last request passed to the proxied server
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
312 for populating a new cache element
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
313 has not completed for the specified <value>time</value>,
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
314 one more request may be passed to the proxied server.
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
315 </para>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
316
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
317 </directive>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
318
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
319
302
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
320 <directive name="proxy_cache_lock_timeout">
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
321 <syntax><value>time</value></syntax>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
322 <default>5s</default>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
323 <context>http</context>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
324 <context>server</context>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
325 <context>location</context>
310
86732337c730 Added a historical information for proxy_cache_lock, proxy_cache_lock_timeout,
Ruslan Ermilov <ru@nginx.com>
parents: 302
diff changeset
326 <appeared-in>1.1.12</appeared-in>
302
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
327
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
328 <para>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
329 Sets a timeout for <link id="proxy_cache_lock"/>.
1376
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
330 When the <value>time</value> expires,
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
331 the request will be passed to the proxied server,
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
332 however, the response will not be cached.
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
333 <note>
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
334 Before 1.7.8, the response could be cached.
6e54b85dfb86 Documented the "proxy_cache_lock_age" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1372
diff changeset
335 </note>
302
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
336 </para>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
337
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
338 </directive>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
339
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
340
1838
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
341 <directive name="proxy_cache_max_range_offset">
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
342 <syntax><value>number</value></syntax>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
343 <default/>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
344 <context>http</context>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
345 <context>server</context>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
346 <context>location</context>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
347 <appeared-in>1.11.6</appeared-in>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
348
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
349 <para>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
350 Sets an offset in bytes for byte-range requests.
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
351 If the range is beyond the offset,
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
352 the range request will be passed to the proxied server
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
353 and the response will not be cached.
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
354 </para>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
355
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
356 </directive>
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
357
0d6ac4838921 Documented proxy_cache_max_range_offset and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1833
diff changeset
358
790
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
359 <directive name="proxy_cache_methods">
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
360 <syntax>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
361 <literal>GET</literal> |
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
362 <literal>HEAD</literal> |
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
363 <literal>POST</literal>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
364 ...</syntax>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
365 <default>GET HEAD</default>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
366 <context>http</context>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
367 <context>server</context>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
368 <context>location</context>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
369 <appeared-in>0.7.59</appeared-in>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
370
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
371 <para>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
372 If the client request method is listed in this directive then
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
373 the response will be cached.
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
374 “<literal>GET</literal>” and “<literal>HEAD</literal>” methods are always
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
375 added to the list, though it is recommended to specify them explicitly.
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
376 See also the <link id="proxy_no_cache"/> directive.
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
377 </para>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
378
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
379 </directive>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
380
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
381
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
382 <directive name="proxy_cache_min_uses">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
383 <syntax><value>number</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
384 <default>1</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
385 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
386 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
387 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
388
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
389 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
390 Sets the <value>number</value> of requests after which the response
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
391 will be cached.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
392 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
393
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
394 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
395
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
396
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
397 <directive name="proxy_cache_path">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
398 <syntax>
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
399 <value>path</value>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
400 [<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
401 [<literal>use_temp_path</literal>=<literal>on</literal>|<literal>off</literal>]
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
402 <literal>keys_zone</literal>=<value>name</value>:<value>size</value>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
403 [<literal>inactive</literal>=<value>time</value>]
508
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
404 [<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
405 [<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
406 [<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
407 [<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
408 [<literal>manager_threshold</literal>=<value>time</value>]
508
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
409 [<literal>loader_files</literal>=<value>number</value>]
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
410 [<literal>loader_sleep</literal>=<value>time</value>]
3043
9eadb98ec770 Free nginx: removed commercial version documentation.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2948
diff changeset
411 [<literal>loader_threshold</literal>=<value>time</value>]</syntax>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
412 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
413 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
414
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
415 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
416 Sets the path and other parameters of a cache.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
417 Cache data are stored in files.
1190
dd4cfc6ce770 Corrected description of *_cache_path file names.
Ruslan Ermilov <ru@nginx.com>
parents: 1189
diff changeset
418 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
419 applying the MD5 function to the
dd4cfc6ce770 Corrected description of *_cache_path file names.
Ruslan Ermilov <ru@nginx.com>
parents: 1189
diff changeset
420 <link id="proxy_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
421 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
422 from 1 to 3, each level accepts values 1 or 2.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
423 For example, in the following configuration
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
424 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
425 proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
426 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
427 file names in a cache will look like this:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
428 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
429 /data/nginx/cache/<emphasis>c</emphasis>/<emphasis>29</emphasis>/b7f54b2df7773722d382f4809d650<emphasis>29c</emphasis>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
430 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
431 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
432
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
433 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
434 A cached response is first written to a temporary file,
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
435 and then the file is renamed.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
436 Starting from version 0.8.9, temporary files and the cache can be put on
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
437 different file systems.
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
438 However, be aware that in this case a file is copied
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
439 across two file systems instead of the cheap renaming operation.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
440 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
441 holding temporary files
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
442 are put on the same file system.
1414
5addfab7e171 Corrected article.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1384
diff changeset
443 The directory for temporary files is set based on
1384
66ee77849563 Documented the use_temp_path parameter of the proxy_cache_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1382
diff changeset
444 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
445 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
446 the directory set by the <link id="proxy_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
447 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
448 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
449 temporary files will be put directly in the cache directory.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
450 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
451
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
452 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
453 In addition, all active keys and information about data are stored
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
454 in a shared memory zone, whose <value>name</value> and <value>size</value>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
455 are configured by the <literal>keys_zone</literal> parameter.
1189
f25d00109de0 Documented cache keys_zone memory estimates.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1166
diff changeset
456 One megabyte zone can store about 8 thousand keys.
f25d00109de0 Documented cache keys_zone memory estimates.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1166
diff changeset
457 </para>
f25d00109de0 Documented cache keys_zone memory estimates.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1166
diff changeset
458
f25d00109de0 Documented cache keys_zone memory estimates.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1166
diff changeset
459 <para>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
460 Cached data that are not accessed during the time specified by the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
461 <literal>inactive</literal> parameter get removed from the cache
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
462 regardless of their freshness.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
463 By default, <literal>inactive</literal> is set to 10 minutes.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
464 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
465
2560
a5bbfdf88bbd Documented the "min_free" parameter of proxy_cache_path and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2254
diff changeset
466 <para id="proxy_cache_path_max_size">
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
467 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
468 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
469 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
470 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
471 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
472 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
473 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
474 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
475 <literal>manager_files</literal>,
bc6341aaa832 Added cache manager parameters to proxy_cache path and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1803
diff changeset
476 <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
477 <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
478 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
479 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
480 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
481 <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
482 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
483 parameter (by default, 50 milliseconds) is made.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
484 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
485
508
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
486 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
487 A minute after the start the special “cache loader” process is activated.
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
488 It loads information about previously cached data stored on file system
508
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
489 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
490 The loading is also done in iterations.
508
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
491 During one iteration no more than <literal>loader_files</literal> items
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
492 are loaded (by default, 100).
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
493 Besides, the duration of one iteration is limited by the
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
494 <literal>loader_threshold</literal> parameter (by default, 200 milliseconds).
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
495 Between iterations, a pause configured by the <literal>loader_sleep</literal>
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
496 parameter (by default, 50 milliseconds) is made.
508
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
497 </para>
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
498
1582
8973c7b37854 Updated commercial docs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1550
diff changeset
499 <para>
1973
3460bd328287 Documented cache version change in proxy_cache_path and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1956
diff changeset
500 <note>
3460bd328287 Documented cache version change in proxy_cache_path and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1956
diff changeset
501 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
502 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
503 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
504 </note>
3460bd328287 Documented cache version change in proxy_cache_path and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1956
diff changeset
505 </para>
3460bd328287 Documented cache version change in proxy_cache_path and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1956
diff changeset
506
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
507 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
508
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
509
1011
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
510 <directive name="proxy_cache_revalidate">
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
511 <syntax><literal>on</literal> | <literal>off</literal></syntax>
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
512 <default>off</default>
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
513 <context>http</context>
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
514 <context>server</context>
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
515 <context>location</context>
1015
af77dd40abeb Documented the appearance of "fastcgi_" and "proxy_cache_revalidate".
Vladimir Homutov <vl@nginx.com>
parents: 1011
diff changeset
516 <appeared-in>1.5.7</appeared-in>
1011
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
517
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
518 <para>
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
519 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
520 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
521 header fields.
1011
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
522 </para>
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
523
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
524 </directive>
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
525
2ad2f30efdf2 Documented the "fastcgi_" and "proxy_cache_revalidate" directives.
Vladimir Homutov <vl@nginx.com>
parents: 1005
diff changeset
526
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
527 <directive name="proxy_cache_use_stale">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
528 <syntax>
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
529 <literal>error</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
530 <literal>timeout</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
531 <literal>invalid_header</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
532 <literal>updating</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
533 <literal>http_500</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
534 <literal>http_502</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
535 <literal>http_503</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
536 <literal>http_504</literal> |
917
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
537 <literal>http_403</literal> |
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
538 <literal>http_404</literal> |
1956
dd96a09dd4f7 Documented support for "429 Too Many Requests" response.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1923
diff changeset
539 <literal>http_429</literal> |
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
540 <literal>off</literal>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
541 ...</syntax>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
542 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
543 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
544 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
545 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
546
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
547 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
548 Determines in which cases a stale cached response can be used
1910
41cf2c2d8c5c Cache: support for stale-while-revalidate and stale-if-error.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1909
diff changeset
549 during communication with the proxied server.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
550 The directive’s parameters match the parameters of the
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
551 <link id="proxy_next_upstream"/> directive.
504
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
552 </para>
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
553
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
554 <para>
1542
a13a99cf46ea Better documented "*_cache_use_stale error".
Ruslan Ermilov <ru@nginx.com>
parents: 1524
diff changeset
555 The <literal>error</literal> parameter also permits
a13a99cf46ea Better documented "*_cache_use_stale error".
Ruslan Ermilov <ru@nginx.com>
parents: 1524
diff changeset
556 using a stale cached response if a proxied server to process a request
a13a99cf46ea Better documented "*_cache_use_stale error".
Ruslan Ermilov <ru@nginx.com>
parents: 1524
diff changeset
557 cannot be selected.
a13a99cf46ea Better documented "*_cache_use_stale error".
Ruslan Ermilov <ru@nginx.com>
parents: 1524
diff changeset
558 </para>
a13a99cf46ea Better documented "*_cache_use_stale error".
Ruslan Ermilov <ru@nginx.com>
parents: 1524
diff changeset
559
1909
399d0e188195 Documented proxy_cache_background_update and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1885
diff changeset
560 <para id="proxy_cache_use_stale_updating">
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
561 Additionally, the <literal>updating</literal> parameter permits
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
562 using a stale cached response if it is currently being updated.
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
563 This allows minimizing the number of accesses to proxied servers
504
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
564 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
565 </para>
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
566
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
567 <para>
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
568 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
569 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
570 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
571 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
572 <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
573
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
574 <listitem>
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
575 The
2831
4add6ae1296f Updated links to datatracker.ietf.org.
Sergey Kandaurov <pluknet@nginx.com>
parents: 2721
diff changeset
576 “<link url="https://datatracker.ietf.org/doc/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
577 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
578 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
579 </listitem>
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
580
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
581 <listitem>
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
582 The
2831
4add6ae1296f Updated links to datatracker.ietf.org.
Sergey Kandaurov <pluknet@nginx.com>
parents: 2721
diff changeset
583 “<link url="https://datatracker.ietf.org/doc/html/rfc5861#section-4">stale-if-error</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
584 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
585 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
586 </listitem>
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
587
ec4af97e4403 Split off header options from parameters in proxy_cache_use_stale and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1910
diff changeset
588 </list>
504
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
589 </para>
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
590
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
591 <para>
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
592 To minimize the number of accesses to proxied servers when
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
593 populating a new cache element, the <link id="proxy_cache_lock"/>
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
594 directive can be used.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
595 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
596
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
597 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
598
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
599
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
600 <directive name="proxy_cache_valid">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
601 <syntax>[<value>code</value> ...] <value>time</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
602 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
603 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
604 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
605 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
606
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
607 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
608 Sets caching time for different response codes.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
609 For example, the following directives
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
610 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
611 proxy_cache_valid 200 302 10m;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
612 proxy_cache_valid 404 1m;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
613 </example>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
614 set 10 minutes of caching for responses with codes 200 and 302
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
615 and 1 minute for responses with code 404.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
616 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
617
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
618 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
619 If only caching <value>time</value> is specified
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
620 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
621 proxy_cache_valid 5m;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
622 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
623 then only 200, 301, and 302 responses are cached.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
624 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
625
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
626 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
627 In addition, the <literal>any</literal> parameter can be specified
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
628 to cache any responses:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
629 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
630 proxy_cache_valid 200 302 10m;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
631 proxy_cache_valid 301 1h;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
632 proxy_cache_valid any 1m;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
633 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
634 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
635
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
636 <para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
637 Parameters of caching can also be set directly
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
638 in the response header.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
639 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
640 <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
641
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
642 <listitem>
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
643 The <header>X-Accel-Expires</header> header field sets caching time of a
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
644 response in seconds.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
645 The zero value disables caching for a response.
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
646 If the value starts with the <literal>@</literal> prefix, it sets an absolute
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
647 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
648 </listitem>
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
649
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
650 <listitem>
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
651 If the header does not include the <header>X-Accel-Expires</header> field,
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
652 parameters of caching may be set in the header fields
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
653 <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
654 </listitem>
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
655
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
656 <listitem>
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
657 If the header includes the <header>Set-Cookie</header> field, such a
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
658 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
659 </listitem>
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
660
1353
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
661 <listitem>
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
662 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
663 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
664 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
665 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
666 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
667 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
668 </listitem>
25db29c8875e Documented how the "Vary" response header field affects caching.
Ruslan Ermilov <ru@nginx.com>
parents: 1352
diff changeset
669
3092
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
670 <listitem>
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
671 If the header includes the <header>Age</header> field
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
672 and caching time is set with the <header>Cache-Control</header> field,
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
673 caching time is reduced accordingly (1.27.3).
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
674 </listitem>
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
675
1349
97c8b146cb0e Split the long paragraph about caching parameters into the list.
Ruslan Ermilov <ru@nginx.com>
parents: 1345
diff changeset
676 </list>
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
677 Processing of one or more of these response header fields can be disabled
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
678 using the <link id="proxy_ignore_headers"/> directive.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
679 </para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
680
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
681 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
682
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
683
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
684 <directive name="proxy_connect_timeout">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
685 <syntax><value>time</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
686 <default>60s</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
687 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
688 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
689 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
690
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
691 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
692 Defines a timeout for establishing a connection with a proxied server.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
693 It should be noted that this timeout cannot usually exceed 75 seconds.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
694 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
695
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
696 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
697
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
698
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
699 <directive name="proxy_cookie_domain">
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
700 <syntax><literal>off</literal></syntax>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
701 <syntax><value>domain</value> <value>replacement</value></syntax>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
702 <default>off</default>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
703 <context>http</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
704 <context>server</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
705 <context>location</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
706 <appeared-in>1.1.15</appeared-in>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
707
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
708 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
709 Sets a text that should be changed in the <literal>domain</literal>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
710 attribute of the <header>Set-Cookie</header> header fields of a
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
711 proxied server response.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
712 Suppose a proxied server returned the <header>Set-Cookie</header>
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
713 header field with the attribute
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
714 “<literal>domain=localhost</literal>”.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
715 The directive
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
716 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
717 proxy_cookie_domain localhost example.org;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
718 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
719 will rewrite this attribute to
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
720 “<literal>domain=example.org</literal>”.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
721 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
722
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
723 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
724 A dot at the beginning of the <value>domain</value> and
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
725 <value>replacement</value> strings and the <literal>domain</literal>
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
726 attribute is ignored.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
727 Matching is case-insensitive.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
728 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
729
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
730 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
731 The <value>domain</value> and <value>replacement</value> strings
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
732 can contain variables:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
733 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
734 proxy_cookie_domain www.$host $host;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
735 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
736 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
737
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
738 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
739 The directive can also be specified using regular expressions.
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
740 In this case, <value>domain</value> should start from
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
741 the “<literal>~</literal>” symbol.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
742 A regular expression can contain named and positional captures,
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
743 and <value>replacement</value> can reference them:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
744 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
745 proxy_cookie_domain ~\.(?P&lt;sl_domain&gt;[-0-9a-z]+\.[a-z]+)$ $sl_domain;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
746 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
747 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
748
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
749 <para>
2598
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
750 Several <literal>proxy_cookie_domain</literal> directives
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
751 can be specified on the same level:
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
752 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
753 proxy_cookie_domain localhost example.org;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
754 proxy_cookie_domain ~\.([a-z]+\.[a-z]+)$ $1;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
755 </example>
2624
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
756 If several directives can be applied to the cookie,
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
757 the first matching directive will be chosen.
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
758 </para>
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
759
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
760 <para>
2598
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
761 The <literal>off</literal> parameter cancels the effect
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
762 of the <literal>proxy_cookie_domain</literal> directives
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
763 inherited from the previous configuration level.
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
764 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
765
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
766 </directive>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
767
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
768
2599
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
769 <directive name="proxy_cookie_flags">
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
770 <syntax>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
771 <literal>off</literal> |
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
772 <value>cookie</value>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
773 [<value>flag</value> ...]</syntax>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
774 <default>off</default>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
775 <context>http</context>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
776 <context>server</context>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
777 <context>location</context>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
778 <appeared-in>1.19.3</appeared-in>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
779
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
780 <para>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
781 Sets one or more flags for the cookie.
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
782 The <value>cookie</value> can contain text, variables, and their combinations.
2672
50b90da82bc2 Documented variables support in proxy_cookie_flags flags.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2624
diff changeset
783 The <value>flag</value>
50b90da82bc2 Documented variables support in proxy_cookie_flags flags.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2624
diff changeset
784 can contain text, variables, and their combinations (1.19.8).
2599
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
785 The
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
786 <literal>secure</literal>,
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
787 <literal>httponly</literal>,
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
788 <literal>samesite=strict</literal>,
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
789 <literal>samesite=lax</literal>,
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
790 <literal>samesite=none</literal>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
791 parameters add the corresponding flags.
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
792 The
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
793 <literal>nosecure</literal>,
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
794 <literal>nohttponly</literal>,
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
795 <literal>nosamesite</literal>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
796 parameters remove the corresponding flags.
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
797 </para>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
798
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
799 <para>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
800 The cookie can also be specified using regular expressions.
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
801 In this case, <value>cookie</value> should start from
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
802 the “<literal>~</literal>” symbol.
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
803 </para>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
804
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
805 <para>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
806 Several <literal>proxy_cookie_flags</literal> directives
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
807 can be specified on the same configuration level:
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
808 <example>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
809 proxy_cookie_flags one httponly;
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
810 proxy_cookie_flags ~ nosecure samesite=strict;
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
811 </example>
2624
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
812 If several directives can be applied to the cookie,
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
813 the first matching directive will be chosen.
2599
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
814 In the example, the <literal>httponly</literal> flag
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
815 is added to the cookie <literal>one</literal>,
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
816 for all other cookies
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
817 the <literal>samesite=strict</literal> flag is added and
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
818 the <literal>secure</literal> flag is deleted.
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
819 </para>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
820
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
821 <para>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
822 The <literal>off</literal> parameter cancels the effect
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
823 of the <literal>proxy_cookie_flags</literal> directives
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
824 inherited from the previous configuration level.
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
825 </para>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
826
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
827 </directive>
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
828
5c5a36560f97 Added the proxy_cookie_flags directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2598
diff changeset
829
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
830 <directive name="proxy_cookie_path">
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
831 <syntax><literal>off</literal></syntax>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
832 <syntax><value>path</value> <value>replacement</value></syntax>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
833 <default>off</default>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
834 <context>http</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
835 <context>server</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
836 <context>location</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
837 <appeared-in>1.1.15</appeared-in>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
838
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
839 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
840 Sets a text that should be changed in the <literal>path</literal>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
841 attribute of the <header>Set-Cookie</header> header fields of a
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
842 proxied server response.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
843 Suppose a proxied server returned the <header>Set-Cookie</header>
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
844 header field with the attribute
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
845 “<literal>path=/two/some/uri/</literal>”.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
846 The directive
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
847 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
848 proxy_cookie_path /two/ /;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
849 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
850 will rewrite this attribute to
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
851 “<literal>path=/some/uri/</literal>”.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
852 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
853
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
854 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
855 The <value>path</value> and <value>replacement</value> strings
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
856 can contain variables:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
857 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
858 proxy_cookie_path $uri /some$uri;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
859 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
860 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
861
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
862 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
863 The directive can also be specified using regular expressions.
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
864 In this case, <value>path</value> should either start from
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
865 the “<literal>~</literal>” symbol for a case-sensitive matching,
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
866 or from the “<literal>~*</literal>” symbols for case-insensitive
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
867 matching.
1149
1501e5848052 Corrected the usage of the definite article.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1146
diff changeset
868 The regular expression can contain named and positional captures,
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
869 and <value>replacement</value> can reference them:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
870 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
871 proxy_cookie_path ~*^/user/([^/]+) /u/$1;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
872 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
873 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
874
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
875 <para>
2598
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
876 Several <literal>proxy_cookie_path</literal> directives
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
877 can be specified on the same level:
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
878 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
879 proxy_cookie_path /one/ /;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
880 proxy_cookie_path / /two/;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
881 </example>
2624
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
882 If several directives can be applied to the cookie,
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
883 the first matching directive will be chosen.
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
884 </para>
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
885
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
886 <para>
2598
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
887 The <literal>off</literal> parameter cancels the effect
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
888 of the <literal>proxy_cookie_path</literal> directives
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
889 inherited from the previous configuration level.
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
890 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
891
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
892 </directive>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
893
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
894
1337
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
895 <directive name="proxy_force_ranges">
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
896 <syntax><literal>on</literal> | <literal>off</literal></syntax>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
897 <default>off</default>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
898 <context>http</context>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
899 <context>server</context>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
900 <context>location</context>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
901 <appeared-in>1.7.7</appeared-in>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
902
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
903 <para>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
904 Enables byte-range support
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
905 for both cached and uncached responses from the proxied server
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
906 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: 1298
diff changeset
907 </para>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
908
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
909 </directive>
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
910
91a064bdb4f9 Documented the "proxy_force_ranges" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1298
diff changeset
911
799
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
912 <directive name="proxy_headers_hash_bucket_size">
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
913 <syntax><value>size</value></syntax>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
914 <default>64</default>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
915 <context>http</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
916 <context>server</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
917 <context>location</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
918
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
919 <para>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
920 Sets the bucket <value>size</value> for hash tables
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
921 used by the <link id="proxy_hide_header"/> and <link id="proxy_set_header"/>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
922 directives.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
923 The details of setting up hash tables are provided in a separate
799
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
924 <link doc="../hash.xml">document</link>.
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
925 </para>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
926
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
927 </directive>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
928
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
929
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
930 <directive name="proxy_headers_hash_max_size">
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
931 <syntax><value>size</value></syntax>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
932 <default>512</default>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
933 <context>http</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
934 <context>server</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
935 <context>location</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
936
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
937 <para>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
938 Sets the maximum <value>size</value> of hash tables
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
939 used by the <link id="proxy_hide_header"/> and <link id="proxy_set_header"/>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
940 directives.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
941 The details of setting up hash tables are provided in a separate
799
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
942 <link doc="../hash.xml">document</link>.
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
943 </para>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
944
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
945 </directive>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
946
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
947
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
948 <directive name="proxy_hide_header">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
949 <syntax><value>field</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
950 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
951 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
952 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
953 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
954
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
955 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
956 By default,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
957 nginx does not pass the header fields <header>Date</header>,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
958 <header>Server</header>, <header>X-Pad</header>, and
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
959 <header>X-Accel-...</header> from the response of a proxied
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
960 server to a client.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
961 The <literal>proxy_hide_header</literal> directive sets additional fields
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
962 that will not be passed.
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
963 If, on the contrary, the passing of fields needs to be permitted,
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
964 the <link id="proxy_pass_header"/> directive can be used.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
965 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
966
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
967 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
968
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
969
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
970 <directive name="proxy_http_version">
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
971 <syntax><literal>1.0</literal> | <literal>1.1</literal></syntax>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
972 <default>1.0</default>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
973 <context>http</context>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
974 <context>server</context>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
975 <context>location</context>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
976 <appeared-in>1.1.4</appeared-in>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
977
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
978 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
979 Sets the HTTP protocol version for proxying.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
980 By default, version 1.0 is used.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
981 Version 1.1 is recommended for use with
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
982 <link doc="ngx_http_upstream_module.xml" id="keepalive"/>
1587
c2a0a18e65ba Added keepalive info for ntlm.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1582
diff changeset
983 connections and
c2a0a18e65ba Added keepalive info for ntlm.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1582
diff changeset
984 <link doc="ngx_http_upstream_module.xml" id="ntlm">NTLM authentication</link>.
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
985 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
986
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
987 </directive>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
988
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
989
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
990 <directive name="proxy_ignore_client_abort">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
991 <syntax><literal>on</literal> | <literal>off</literal></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
992 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
993 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
994 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
995 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
996
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
997 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
998 Determines whether the connection with a proxied server should be
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
999 closed when a client closes the connection without waiting
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
1000 for a response.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1001 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1002
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1003 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1004
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1005
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1006 <directive name="proxy_ignore_headers">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1007 <syntax><value>field</value> ...</syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1008 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1009 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1010 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1011 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1012
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1013 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
1014 Disables processing of certain response header fields from the proxied server.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1015 The following fields can be ignored: <header>X-Accel-Redirect</header>,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1016 <header>X-Accel-Expires</header>, <header>X-Accel-Limit-Rate</header> (1.1.6),
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1017 <header>X-Accel-Buffering</header> (1.1.6),
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1018 <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
1019 <header>Cache-Control</header>, <header>Set-Cookie</header> (0.8.44),
3092
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
1020 <header>Vary</header> (1.7.7), and <header>Age</header> (1.27.3).
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1021 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1022
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1023 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1024 If not disabled, processing of these header fields has the following
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1025 effect:
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1026 <list type="bullet" compact="no">
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1027
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1028 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1029 <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
1030 <header>Cache-Control</header>, <header>Set-Cookie</header>,
3092
ca4c8ac67c0e Documented Age header handling.
Maxim Dounin <mdounin@mdounin.ru>
parents: 3043
diff changeset
1031 <header>Vary</header>, and <header>Age</header>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1032 set the parameters of response <link id="proxy_cache_valid">caching</link>;
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1033 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1034
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1035 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1036 <header>X-Accel-Redirect</header> performs an
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1037 <link doc="ngx_http_core_module.xml" id="internal">internal
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1038 redirect</link> to the specified URI;
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1039 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1040
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1041 <listitem>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1042 <header>X-Accel-Limit-Rate</header> sets the
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1043 <link doc="ngx_http_core_module.xml" id="limit_rate">rate
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1044 limit</link> for transmission of a response to a client;
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1045 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1046
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1047 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1048 <header>X-Accel-Buffering</header> enables or disables
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1049 <link id="proxy_buffering">buffering</link> of a response;
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1050 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1051
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1052 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1053 <header>X-Accel-Charset</header> sets the desired
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1054 <link doc="ngx_http_charset_module.xml" id="charset"/>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1055 of a response.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1056 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1057
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1058 </list>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1059 </para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
1060
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1061 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1062
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1063
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1064 <directive name="proxy_intercept_errors">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1065 <syntax><literal>on</literal> | <literal>off</literal></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1066 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1067 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1068 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1069 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1070
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1071 <para>
297
94c8df379088 Added missing word.
Ruslan Ermilov <ru@nginx.com>
parents: 294
diff changeset
1072 Determines whether proxied 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
1073 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
1074 or be intercepted and redirected to nginx for processing
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
1075 with the <link doc="ngx_http_core_module.xml" id="error_page"/> directive.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1076 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1077
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1078 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1079
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1080
1342
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1081 <directive name="proxy_limit_rate">
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1082 <syntax><value>rate</value></syntax>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1083 <default>0</default>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1084 <context>http</context>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1085 <context>server</context>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1086 <context>location</context>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1087 <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
1088
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1089 <para>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1090 Limits the speed of reading the response from the proxied server.
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1091 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
1092 The zero value disables rate limiting.
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1093 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
1094 two connections to the proxied server,
1bdde28e359b Fixed fallouts from the previous change.
Ruslan Ermilov <ru@nginx.com>
parents: 1342
diff changeset
1095 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
1096 The limitation works only if
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1097 <link id="proxy_buffering">buffering</link> of responses from the proxied
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1098 server is enabled.
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1099 </para>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1100
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1101 </directive>
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1102
758fc0b02651 Documented the "proxy_limit_rate" directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1337
diff changeset
1103
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1104 <directive name="proxy_max_temp_file_size">
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1105 <syntax><value>size</value></syntax>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1106 <default>1024m</default>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1107 <context>http</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1108 <context>server</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1109 <context>location</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1110
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1111 <para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1112 When <link id="proxy_buffering">buffering</link> of responses from the proxied
1153
4e20e4f8f49b Finished truncation of "memory buffers" to just "buffers".
Ruslan Ermilov <ru@nginx.com>
parents: 1151
diff changeset
1113 server is enabled, and the whole response does not fit into the buffers
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1114 set by the <link id="proxy_buffer_size"/> and <link id="proxy_buffers"/>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
1115 directives, a part of the response can be saved to a temporary file.
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
1116 This directive sets the maximum <value>size</value> of the temporary file.
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
1117 The size of data written to the temporary file at a time is set
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1118 by the <link id="proxy_temp_file_write_size"/> directive.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1119 </para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1120
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1121 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1122 The zero value disables buffering of responses to temporary files.
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1123 </para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1124
1352
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
1125 <para>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
1126 <note>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
1127 This restriction does not apply to responses
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
1128 that will be <link id="proxy_cache">cached</link>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
1129 or <link id="proxy_store">stored</link> on disk.
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
1130 </note>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
1131 </para>
dbb618f60a54 Elaborate on writing proxied responses to files.
Ruslan Ermilov <ru@nginx.com>
parents: 1349
diff changeset
1132
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1133 </directive>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1134
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1135
787
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1136 <directive name="proxy_method">
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1137 <syntax><value>method</value></syntax>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1138 <default/>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1139 <context>http</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1140 <context>server</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1141 <context>location</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1142
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1143 <para>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1144 Specifies the HTTP <value>method</value> to use in requests forwarded
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1145 to the proxied server instead of the method from the client request.
1833
0c4b43e26cea Documented variables support in proxy_method.
Ruslan Ermilov <ru@nginx.com>
parents: 1812
diff changeset
1146 Parameter value can contain variables (1.11.6).
787
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1147 </para>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1148
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1149 </directive>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1150
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1151
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1152 <directive name="proxy_next_upstream">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1153 <syntax>
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1154 <literal>error</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1155 <literal>timeout</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1156 <literal>invalid_header</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1157 <literal>http_500</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1158 <literal>http_502</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1159 <literal>http_503</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1160 <literal>http_504</literal> |
917
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
1161 <literal>http_403</literal> |
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1162 <literal>http_404</literal> |
1956
dd96a09dd4f7 Documented support for "429 Too Many Requests" response.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1923
diff changeset
1163 <literal>http_429</literal> |
1669
c872b93682f4 Added "non_idempotent" for proxy_next_upstream and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1659
diff changeset
1164 <literal>non_idempotent</literal> |
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1165 <literal>off</literal>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
1166 ...</syntax>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1167 <default>error timeout</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1168 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1169 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1170 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1171
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1172 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1173 Specifies in which cases a request should be passed to the next server:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1174 <list type="tag">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1175
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1176 <tag-name><literal>error</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1177 <tag-desc>an error occurred while establishing a connection with the
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1178 server, passing a request to it, or reading the response header;</tag-desc>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1179
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1180 <tag-name><literal>timeout</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1181 <tag-desc>a timeout has occurred while establishing a connection with the
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1182 server, passing a request to it, or reading the response header;</tag-desc>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1183
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1184 <tag-name><literal>invalid_header</literal></tag-name>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1185 <tag-desc>a server returned an empty or invalid response;</tag-desc>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1186
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1187 <tag-name><literal>http_500</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1188 <tag-desc>a server returned a response with the code 500;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1189
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1190 <tag-name><literal>http_502</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1191 <tag-desc>a server returned a response with the code 502;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1192
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1193 <tag-name><literal>http_503</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1194 <tag-desc>a server returned a response with the code 503;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1195
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1196 <tag-name><literal>http_504</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1197 <tag-desc>a server returned a response with the code 504;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1198
917
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
1199 <tag-name><literal>http_403</literal></tag-name>
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
1200 <tag-desc>a server returned a response with the code 403;</tag-desc>
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
1201
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1202 <tag-name><literal>http_404</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1203 <tag-desc>a server returned a response with the code 404;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1204
1956
dd96a09dd4f7 Documented support for "429 Too Many Requests" response.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1923
diff changeset
1205 <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
1206 <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
1207
1669
c872b93682f4 Added "non_idempotent" for proxy_next_upstream and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1659
diff changeset
1208 <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
1209 <tag-desc>normally, requests with a
2831
4add6ae1296f Updated links to datatracker.ietf.org.
Sergey Kandaurov <pluknet@nginx.com>
parents: 2721
diff changeset
1210 <link url="https://datatracker.ietf.org/doc/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
1211 method
c872b93682f4 Added "non_idempotent" for proxy_next_upstream and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1659
diff changeset
1212 (<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
1213 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
1214 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
1215 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
1216 </tag-desc>
c872b93682f4 Added "non_idempotent" for proxy_next_upstream and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1659
diff changeset
1217
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1218 <tag-name><literal>off</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1219 <tag-desc>disables passing a request to the next server.</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1220
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1221 </list>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1222 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1223
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1224 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1225 One should bear in mind that passing a request to the next server is
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1226 only possible if nothing has been sent to a client yet.
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1227 That is, if an error or timeout occurs in the middle of the
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1228 transferring of a response, fixing this is impossible.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1229 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1230
942
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1231 <para>
1289
57fc39924d42 Proxy/memcached/fastcgi/scgi/uwsgi: updated link in _next_upstream directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1246
diff changeset
1232 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
1233 <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
1234 attempt</link> of communication with a server.
942
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1235 The cases of <literal>error</literal>, <literal>timeout</literal> and
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1236 <literal>invalid_header</literal> are always considered unsuccessful attempts,
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1237 even if they are not specified in the directive.
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1238 The cases of <literal>http_500</literal>, <literal>http_502</literal>,
1956
dd96a09dd4f7 Documented support for "429 Too Many Requests" response.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1923
diff changeset
1239 <literal>http_503</literal>, <literal>http_504</literal>,
dd96a09dd4f7 Documented support for "429 Too Many Requests" response.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1923
diff changeset
1240 and <literal>http_429</literal> are
942
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1241 considered unsuccessful attempts only if they are specified in the directive.
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1242 The cases of <literal>http_403</literal> and <literal>http_404</literal>
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1243 are never considered unsuccessful attempts.
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1244 </para>
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
1245
1290
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1246 <para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1247 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
1248 <link id="proxy_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
1249 and by <link id="proxy_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
1250 </para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1251
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1252 </directive>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1253
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1254
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1255 <directive name="proxy_next_upstream_timeout">
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1256 <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
1257 <default>0</default>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1258 <context>http</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1259 <context>server</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1260 <context>location</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1261 <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
1262
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1263 <para>
1672
9c98c4498f08 Rephrased the "proxy_next_upstream_timeout" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1669
diff changeset
1264 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
1265 <link id="proxy_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
1266 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
1267 </para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1268
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1269 </directive>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1270
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1271
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1272 <directive name="proxy_next_upstream_tries">
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1273 <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
1274 <default>0</default>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1275 <context>http</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1276 <context>server</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1277 <context>location</context>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1278 <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
1279
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1280 <para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1281 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
1282 <link id="proxy_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
1283 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
1284 </para>
f5cc9f2aef9a Proxy/memcached/fastcgi/scgi/uwsgi: _next_upstream_timeout,_next_upstream_tries.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1289
diff changeset
1285
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1286 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1287
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1288
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1289 <directive name="proxy_no_cache">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1290 <syntax><value>string</value> ...</syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1291 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1292 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1293 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1294 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1295
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1296 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
1297 Defines conditions under which the response will not be saved to a cache.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1298 If at least one value of the string parameters is not empty and is not
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
1299 equal to “0” then the response will not be saved:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1300 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1301 proxy_no_cache $cookie_nocache $arg_nocache$arg_comment;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1302 proxy_no_cache $http_pragma $http_authorization;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1303 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1304 Can be used along with the <link id="proxy_cache_bypass"/> directive.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1305 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1306
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1307 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1308
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1309
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1310 <directive name="proxy_pass">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1311 <syntax><value>URL</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1312 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1313 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1314 <context>if in location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1315 <context>limit_except</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1316
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1317 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1318 Sets the protocol and address of a proxied server and an optional URI
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1319 to which a location should be mapped.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1320 As a protocol, “<literal>http</literal>” or “<literal>https</literal>”
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1321 can be specified.
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1322 The address can be specified as a domain name or IP address,
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1323 and an optional port:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1324 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1325 proxy_pass http://localhost:8000/uri/;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1326 </example>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1327 or as a UNIX-domain socket path specified after the word
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1328 “<literal>unix</literal>” and enclosed in colons:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1329 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1330 proxy_pass http://unix:/tmp/backend.socket:/uri/;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1331 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1332 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1333
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1334 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
1335 If a domain name resolves to several addresses, all of them will be
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1336 used in a round-robin fashion.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1337 In addition, an address can be specified as a
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1338 <link doc="ngx_http_upstream_module.xml">server group</link>.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1339 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1340
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1341 <para>
1990
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1342 Parameter value can contain variables.
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1343 In this case, if an address is specified as a domain name,
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1344 the name is searched among the described server groups,
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1345 and, if not found, is determined using a
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1346 <link doc="ngx_http_core_module.xml" id="resolver"/>.
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1347 </para>
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1348
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1349 <para>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1350 A request URI is passed to the server as follows:
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1351 <list type="bullet" compact="no">
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1352
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1353 <listitem>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1354 If the <literal>proxy_pass</literal> directive is specified with a URI,
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1355 then when a request is passed to the server, the part of a
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1356 <link doc="ngx_http_core_module.xml" id="location">normalized</link>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1357 request URI matching the location is replaced by a URI
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1358 specified in the directive:
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1359 <example>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1360 location /name/ {
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1361 proxy_pass http://127.0.0.1/remote/;
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1362 }
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1363 </example>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1364 </listitem>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1365
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1366 <listitem>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1367 If <literal>proxy_pass</literal> is specified without a URI,
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1368 the request URI is passed to the server in the same form
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1369 as sent by a client when the original request is processed,
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1370 or the full normalized request URI is passed
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1371 when processing the changed URI:
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1372 <example>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1373 location /some/path/ {
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1374 proxy_pass http://127.0.0.1;
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1375 }
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1376 </example>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1377 <note>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1378 Before version 1.1.12,
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1379 if <literal>proxy_pass</literal> is specified without a URI,
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1380 the original request URI might be passed
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1381 instead of the changed URI in some cases.
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1382 </note>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1383 </listitem>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1384 </list>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1385 </para>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1386
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1387 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1388 In some cases, the part of a request URI to be replaced cannot be determined:
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1389 <list type="bullet" compact="no">
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1390
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1391 <listitem>
1989
7bf1a73248f5 Documented that proxy_pass doesn't allow URI in named locations.
Ruslan Ermilov <ru@nginx.com>
parents: 1978
diff changeset
1392 When location is specified using a regular expression,
7bf1a73248f5 Documented that proxy_pass doesn't allow URI in named locations.
Ruslan Ermilov <ru@nginx.com>
parents: 1978
diff changeset
1393 and also inside named locations.
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1394 <para>
1989
7bf1a73248f5 Documented that proxy_pass doesn't allow URI in named locations.
Ruslan Ermilov <ru@nginx.com>
parents: 1978
diff changeset
1395 In these cases,
7bf1a73248f5 Documented that proxy_pass doesn't allow URI in named locations.
Ruslan Ermilov <ru@nginx.com>
parents: 1978
diff changeset
1396 <literal>proxy_pass</literal> should be specified without a URI.
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1397 </para>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1398 </listitem>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1399
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1400 <listitem>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1401 When the URI is changed inside a proxied location using the
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1402 <link doc="ngx_http_rewrite_module.xml" id="rewrite"/> directive,
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1403 and this same configuration will be used to process a request
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1404 (<literal>break</literal>):
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1405 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1406 location /name/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1407 rewrite /name/([^/]+) /users?name=$1 break;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1408 proxy_pass http://127.0.0.1;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1409 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1410 </example>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1411 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1412 In this case, the URI specified in the directive is ignored and
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1413 the full changed request URI is passed to the server.
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1414 </para>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1415 </listitem>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1416
1990
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1417 <listitem>
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1418 When variables are used in <literal>proxy_pass</literal>:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1419 <example>
1990
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1420 location /name/ {
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1421 proxy_pass http://127.0.0.1$request_uri;
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1422 }
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1423 </example>
1990
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1424 In this case, if URI is specified in the directive,
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1425 it is passed to the server as is,
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1426 replacing the original request URI.
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1427 </listitem>
a108f1ff1690 Better documented proxy_pass with variables (ticket #803).
Ruslan Ermilov <ru@nginx.com>
parents: 1989
diff changeset
1428 </list>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1429 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1430
849
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1431 <para>
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1432 <link doc="websocket.xml">WebSocket</link> proxying requires special
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1433 configuration and is supported since version 1.3.13.
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1434 </para>
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1435
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1436 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1437
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1438
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1439 <directive name="proxy_pass_header">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1440 <syntax><value>field</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1441 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1442 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1443 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1444 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1445
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1446 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1447 Permits passing <link id="proxy_hide_header">otherwise disabled</link> header
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1448 fields from a proxied server to a client.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1449 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1450
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1451 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1452
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1453
789
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1454 <directive name="proxy_pass_request_body">
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1455 <syntax><literal>on</literal> | <literal>off</literal></syntax>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1456 <default>on</default>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1457 <context>http</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1458 <context>server</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1459 <context>location</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1460
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1461 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
1462 Indicates whether the original request body is passed
789
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1463 to the proxied server.
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1464 <example>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1465 location /x-accel-redirect-here/ {
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1466 proxy_method GET;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1467 proxy_pass_request_body off;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1468 proxy_set_header Content-Length "";
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1469
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1470 proxy_pass ...
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1471 }
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1472 </example>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1473 See also the <link id="proxy_set_header"/> and
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1474 <link id="proxy_pass_request_headers"/> directives.
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1475 </para>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1476
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1477 </directive>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1478
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1479
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1480 <directive name="proxy_pass_request_headers">
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1481 <syntax><literal>on</literal> | <literal>off</literal></syntax>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1482 <default>on</default>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1483 <context>http</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1484 <context>server</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1485 <context>location</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1486
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1487 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
1488 Indicates whether the header fields of the original request are passed
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1489 to the proxied server.
789
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1490 <example>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1491 location /x-accel-redirect-here/ {
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1492 proxy_method GET;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1493 proxy_pass_request_headers off;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1494 proxy_pass_request_body off;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1495
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1496 proxy_pass ...
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1497 }
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1498 </example>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1499 See also the <link id="proxy_set_header"/> and
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1500 <link id="proxy_pass_request_body"/> directives.
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1501 </para>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1502
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1503 </directive>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1504
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1505
1524
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1506 <directive name="proxy_read_timeout">
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1507 <syntax><value>time</value></syntax>
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1508 <default>60s</default>
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1509 <context>http</context>
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1510 <context>server</context>
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1511 <context>location</context>
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1512
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1513 <para>
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1514 Defines a timeout for reading a response from the proxied server.
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1515 The timeout is set only between two successive read operations,
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1516 not for the transmission of the whole response.
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1517 If the proxied server does not transmit anything within this time,
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1518 the connection is closed.
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1519 </para>
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1520
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1521 </directive>
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1522
323b0d071166 Relocated proxy_read_timeout and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1499
diff changeset
1523
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1524 <directive name="proxy_redirect">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1525 <syntax><literal>default</literal></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1526 <syntax><literal>off</literal></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1527 <syntax><value>redirect</value> <value>replacement</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1528 <default>default</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1529 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1530 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1531 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1532
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1533 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1534 Sets the text that should be changed in the <header>Location</header>
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1535 and <header>Refresh</header> header fields of a proxied server response.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1536 Suppose a proxied server returned the header field
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1537 “<literal>Location: http://localhost:8000/two/some/uri/</literal>”.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1538 The directive
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1539 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1540 proxy_redirect http://localhost:8000/two/ http://frontend/one/;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1541 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1542 will rewrite this string to
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1543 “<literal>Location: http://frontend/one/some/uri/</literal>”.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1544 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1545
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1546 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1547 A server name may be omitted in the <value>replacement</value> string:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1548 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1549 proxy_redirect http://localhost:8000/two/ /;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1550 </example>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1551 then the primary server’s name and port, if different from 80,
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1552 will be inserted.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1553 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1554
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1555 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1556 The default replacement specified by the <literal>default</literal> parameter
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1557 uses the parameters of the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1558 <link doc="ngx_http_core_module.xml" id="location"/> and
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1559 <link id="proxy_pass"/> directives.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1560 Hence, the two configurations below are equivalent:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1561 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1562 location /one/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1563 proxy_pass http://upstream:port/two/;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1564 proxy_redirect default;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1565 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1566
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1567 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1568 location /one/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1569 proxy_pass http://upstream:port/two/;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1570 proxy_redirect http://upstream:port/two/ /one/;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1571 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1572 The <literal>default</literal> parameter is not permitted if
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1573 <link id="proxy_pass"/> is specified using variables.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1574 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1575
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1576 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1577 A <value>replacement</value> string can contain variables:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1578 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1579 proxy_redirect http://localhost:8000/ http://$host:$server_port/;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1580 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1581 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1582
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1583 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1584 A <value>redirect</value> can also contain (1.1.11) variables:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1585 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1586 proxy_redirect http://$proxy_host:8000/ /;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1587 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1588 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1589
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1590 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1591 The directive can be specified (1.1.11) using regular expressions.
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1592 In this case, <value>redirect</value> should either start with
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1593 the “<literal>~</literal>” symbol for a case-sensitive matching,
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1594 or with the “<literal>~*</literal>” symbols for case-insensitive
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1595 matching.
1149
1501e5848052 Corrected the usage of the definite article.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1146
diff changeset
1596 The regular expression can contain named and positional captures,
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1597 and <value>replacement</value> can reference them:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1598 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1599 proxy_redirect ~^(http://[^:]+):\d+(/.+)$ $1$2;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1600 proxy_redirect ~*/user/([^/]+)/(.+)$ http://$1.example.com/$2;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1601 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1602 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1603
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1604 <para>
2598
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
1605 Several <literal>proxy_redirect</literal> directives
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
1606 can be specified on the same level:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1607 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1608 proxy_redirect default;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1609 proxy_redirect http://localhost:8000/ /;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1610 proxy_redirect http://www.example.com/ /;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1611 </example>
2624
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
1612 If several directives can be applied to
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
1613 the header fields of a proxied server response,
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
1614 the first matching directive will be chosen.
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
1615 </para>
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
1616
bd676d1da957 Clarified behavior of multiple proxy_cookie_ directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2617
diff changeset
1617 <para>
2598
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
1618 The <literal>off</literal> parameter cancels the effect
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
1619 of the <literal>proxy_redirect</literal> directives
361a28cca097 Rephrased "off" parameter of proxy_cookie_domain/path/redirect.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2593
diff changeset
1620 inherited from the previous configuration level.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1621 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1622
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1623 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1624 Using this directive, it is also possible to add host names to relative
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1625 redirects issued by a proxied server:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1626 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1627 proxy_redirect / /;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1628 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1629 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1630
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1631 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1632
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1633
1437
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1634 <directive name="proxy_request_buffering">
1659
680cbf783efe Fixed some misuses of "value".
Ruslan Ermilov <ru@nginx.com>
parents: 1610
diff changeset
1635 <syntax><literal>on</literal> | <literal>off</literal></syntax>
1437
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1636 <default>on</default>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1637 <context>http</context>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1638 <context>server</context>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1639 <context>location</context>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1640 <appeared-in>1.7.11</appeared-in>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1641
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1642 <para>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1643 Enables or disables buffering of a client request body.
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1644 </para>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1645
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1646 <para>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1647 When buffering is enabled, the entire request body is
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1648 <link doc="ngx_http_core_module.xml" id="client_body_buffer_size">read</link>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1649 from the client before sending the request to a proxied server.
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1650 </para>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1651
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1652 <para>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1653 When buffering is disabled, the request body is sent to the proxied server
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1654 immediately as it is received.
1440
657885fd2b96 Corrected description of proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1437
diff changeset
1655 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
1656 <link id="proxy_next_upstream">next server</link>
1437
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1657 if nginx already started sending the request body.
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1658 </para>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1659
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1660 <para>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1661 When HTTP/1.1 chunked transfer encoding is used
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1662 to send the original request body,
1440
657885fd2b96 Corrected description of proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1437
diff changeset
1663 the request body will be buffered regardless of the directive value unless
657885fd2b96 Corrected description of proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1437
diff changeset
1664 HTTP/1.1 is <link id="proxy_http_version">enabled</link> for proxying.
1437
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1665 </para>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1666
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1667 </directive>
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1668
8e7995bb8c6b Documented proxy_request_buffering and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1414
diff changeset
1669
773
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1670 <directive name="proxy_send_lowat">
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1671 <syntax><value>size</value></syntax>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1672 <default>0</default>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1673 <context>http</context>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1674 <context>server</context>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1675 <context>location</context>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1676
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1677 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1678 If the directive is set to a non-zero value, nginx will try to
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1679 minimize the number
773
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1680 of send operations on outgoing connections to a proxied server by using either
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1681 <c-def>NOTE_LOWAT</c-def> flag of the
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1682 <link doc="../events.xml" id="kqueue"/> method,
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1683 or the <c-def>SO_SNDLOWAT</c-def> socket option,
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1684 with the specified <value>size</value>.
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1685 </para>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1686
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1687 <para>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1688 This directive is ignored on Linux, Solaris, and Windows.
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1689 </para>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1690
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1691 </directive>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1692
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1693
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1694 <directive name="proxy_send_timeout">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1695 <syntax><value>time</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1696 <default>60s</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1697 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1698 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1699 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1700
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1701 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1702 Sets a timeout for transmitting a request to the proxied server.
1149
1501e5848052 Corrected the usage of the definite article.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1146
diff changeset
1703 The timeout is set only between two successive write operations,
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1704 not for the transmission of the whole request.
1149
1501e5848052 Corrected the usage of the definite article.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1146
diff changeset
1705 If the proxied server does not receive anything within this time,
1501e5848052 Corrected the usage of the definite article.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1146
diff changeset
1706 the connection is closed.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1707 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1708
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1709 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1710
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1711
787
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1712 <directive name="proxy_set_body">
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1713 <syntax><value>value</value></syntax>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1714 <default/>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1715 <context>http</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1716 <context>server</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1717 <context>location</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1718
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1719 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1720 Allows redefining the request body passed to the proxied server.
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
1721 The <value>value</value> can contain text, variables, and their combination.
787
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1722 </para>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1723
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1724 </directive>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1725
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1726
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1727 <directive name="proxy_set_header">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1728 <syntax><value>field</value> <value>value</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1729 <default>Host $proxy_host</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1730 <default>Connection close</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1731 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1732 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1733 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1734
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1735 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1736 Allows redefining or appending fields to the request header
789
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1737 <link id="proxy_pass_request_headers">passed</link> to the proxied server.
1151
4c2324a7eeea Corrected the usage of articles and a comma.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1149
diff changeset
1738 The <value>value</value> can contain text, variables, and their combinations.
2593
eeed494bba51 Unified phrases about configuration levels and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 2560
diff changeset
1739 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
1740 if and only if there are no <literal>proxy_set_header</literal> directives
eeed494bba51 Unified phrases about configuration levels and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 2560
diff changeset
1741 defined on the current level.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1742 By default, only two fields are redefined:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1743 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1744 proxy_set_header Host $proxy_host;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1745 proxy_set_header Connection close;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1746 </example>
1610
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1747 If caching is enabled, the header fields
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1748 <header>If-Modified-Since</header>,
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1749 <header>If-Unmodified-Since</header>,
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1750 <header>If-None-Match</header>,
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1751 <header>If-Match</header>,
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1752 <header>Range</header>,
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1753 and
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1754 <header>If-Range</header>
2d60caa1c1dd Documented headers that are stripped when caching is enabled.
Ruslan Ermilov <ru@nginx.com>
parents: 1599
diff changeset
1755 from the original request are not passed to the proxied server.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1756 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1757
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1758 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1759 An unchanged <header>Host</header> request header field can be passed like this:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1760 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1761 proxy_set_header Host $http_host;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1762 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1763 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1764
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1765 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1766 However, if this field is not present in a client request header then
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1767 nothing will be passed.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1768 In such a case it is better to use the <var>$host</var> variable&mdash;its
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1769 value equals the server name in the <header>Host</header> request header
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1770 field or the primary server name if this field is not present:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1771 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1772 proxy_set_header Host $host;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1773 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1774 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1775
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1776 <para>
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
1777 In addition, the server name can be passed together with the port of the
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1778 proxied server:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1779 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1780 proxy_set_header Host $host:$proxy_port;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1781 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1782 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1783
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1784 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1785 If the value of a header field is an empty string then this
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1786 field will not be passed to a proxied server:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1787 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1788 proxy_set_header Accept-Encoding "";
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1789 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1790 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1791
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1792 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1793
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1794
2254
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1795 <directive name="proxy_socket_keepalive">
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1796 <syntax><literal>on</literal> | <literal>off</literal></syntax>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1797 <default>off</default>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1798 <context>http</context>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1799 <context>server</context>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1800 <context>location</context>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1801 <appeared-in>1.15.6</appeared-in>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1802
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1803 <para>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1804 Configures the “TCP keepalive” behavior
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1805 for outgoing connections to a proxied server.
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1806 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: 2142
diff changeset
1807 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: 2142
diff changeset
1808 <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: 2142
diff changeset
1809 </para>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1810
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1811 </directive>
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1812
d765ffffd08c Documented proxy_socket_keepalive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2142
diff changeset
1813
1372
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1814 <directive name="proxy_ssl_certificate">
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1815 <syntax><value>file</value></syntax>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1816 <default/>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1817 <context>http</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1818 <context>server</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1819 <context>location</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1820 <appeared-in>1.7.8</appeared-in>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1821
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1822 <para>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1823 Specifies a <value>file</value> with the certificate in the PEM format
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1824 used for authentication to a proxied HTTPS server.
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1825 </para>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1826
2721
7041bddec07d Documented variables support for certificates in proxy, uwsgi, grpc.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2672
diff changeset
1827 <para>
7041bddec07d Documented variables support for certificates in proxy, uwsgi, grpc.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2672
diff changeset
1828 Since version 1.21.0, variables can be used in the <value>file</value> name.
7041bddec07d Documented variables support for certificates in proxy, uwsgi, grpc.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2672
diff changeset
1829 </para>
7041bddec07d Documented variables support for certificates in proxy, uwsgi, grpc.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2672
diff changeset
1830
1372
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1831 </directive>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1832
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1833
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1834 <directive name="proxy_ssl_certificate_key">
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1835 <syntax><value>file</value></syntax>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1836 <default/>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1837 <context>http</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1838 <context>server</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1839 <context>location</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1840 <appeared-in>1.7.8</appeared-in>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1841
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1842 <para>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1843 Specifies a <value>file</value> with the secret key in the PEM format
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1844 used for authentication to a proxied HTTPS server.
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1845 </para>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1846
1456
acba294382d6 Documented engine support in ssl_certificate_key and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1440
diff changeset
1847 <para>
acba294382d6 Documented engine support in ssl_certificate_key and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1440
diff changeset
1848 The value
acba294382d6 Documented engine support in ssl_certificate_key and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1440
diff changeset
1849 <literal>engine</literal>:<value>name</value>:<value>id</value>
acba294382d6 Documented engine support in ssl_certificate_key and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1440
diff changeset
1850 can be specified instead of the <value>file</value> (1.7.9),
acba294382d6 Documented engine support in ssl_certificate_key and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1440
diff changeset
1851 which loads a secret key with a specified <value>id</value>
acba294382d6 Documented engine support in ssl_certificate_key and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1440
diff changeset
1852 from the OpenSSL engine <value>name</value>.
acba294382d6 Documented engine support in ssl_certificate_key and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1440
diff changeset
1853 </para>
acba294382d6 Documented engine support in ssl_certificate_key and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1440
diff changeset
1854
2721
7041bddec07d Documented variables support for certificates in proxy, uwsgi, grpc.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2672
diff changeset
1855 <para>
7041bddec07d Documented variables support for certificates in proxy, uwsgi, grpc.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2672
diff changeset
1856 Since version 1.21.0, variables can be used in the <value>file</value> name.
7041bddec07d Documented variables support for certificates in proxy, uwsgi, grpc.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2672
diff changeset
1857 </para>
7041bddec07d Documented variables support for certificates in proxy, uwsgi, grpc.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2672
diff changeset
1858
1372
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1859 </directive>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1860
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1861
993
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1862 <directive name="proxy_ssl_ciphers">
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1863 <syntax><value>ciphers</value></syntax>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1864 <default>DEFAULT</default>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1865 <context>http</context>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1866 <context>server</context>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1867 <context>location</context>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1868 <appeared-in>1.5.6</appeared-in>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1869
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1870 <para>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1871 Specifies the enabled ciphers for requests to a proxied HTTPS server.
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1872 The ciphers are specified in the format understood by the OpenSSL library.
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1873 </para>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1874
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1875 <para>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1876 The full list can be viewed using the
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1877 “<command>openssl ciphers</command>” command.
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1878 </para>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1879
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1880 </directive>
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1881
a59aba3d4b67 Proxy: documented the "proxy_ssl_ciphers" directive.
Andrei Belov <defan@nginx.com>
parents: 992
diff changeset
1882
2617
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1883 <directive name="proxy_ssl_conf_command">
2865
0d355d154181 Corrected syntax of ssl_conf_command and friends.
Sergey Kandaurov <pluknet@nginx.com>
parents: 2837
diff changeset
1884 <syntax><value>name</value> <value>value</value></syntax>
2617
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1885 <default/>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1886 <context>http</context>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1887 <context>server</context>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1888 <context>location</context>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1889 <appeared-in>1.19.4</appeared-in>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1890
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1891 <para>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1892 Sets arbitrary OpenSSL configuration
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1893 <link url="https://www.openssl.org/docs/man1.1.1/man3/SSL_CONF_cmd.html">commands</link>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1894 when establishing a connection with the proxied HTTPS server.
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1895 <note>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1896 The directive is supported when using OpenSSL 1.0.2 or higher.
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1897 </note>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1898 </para>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1899
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1900 <para>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1901 Several <literal>proxy_ssl_conf_command</literal> directives
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1902 can be specified on the same level.
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1903 These directives are inherited from the previous configuration level
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1904 if and only if there are
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1905 no <literal>proxy_ssl_conf_command</literal> directives
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1906 defined on the current level.
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1907 </para>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1908
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1909 <para>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1910 <note>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1911 Note that configuring OpenSSL directly
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1912 might result in unexpected behavior.
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1913 </note>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1914 </para>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1915
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1916 </directive>
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1917
6684517c9d19 Documented the proxy_ssl_conf_command directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2599
diff changeset
1918
1166
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1919 <directive name="proxy_ssl_crl">
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1920 <syntax><value>file</value></syntax>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1921 <default/>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1922 <context>http</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1923 <context>server</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1924 <context>location</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1925 <appeared-in>1.7.0</appeared-in>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1926
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1927 <para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1928 Specifies a <value>file</value> with revoked certificates (CRL)
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1929 in the PEM format used to <link id="proxy_ssl_verify">verify</link>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1930 the certificate of the proxied HTTPS server.
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1931 </para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1932
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1933 </directive>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1934
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1935
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1936 <directive name="proxy_ssl_name">
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1937 <syntax><value>name</value></syntax>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1938 <default>$proxy_host</default>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1939 <context>http</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1940 <context>server</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1941 <context>location</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1942 <appeared-in>1.7.0</appeared-in>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1943
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1944 <para>
1717
e07ce4ed4dcc Corrected usage of "allow".
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1696
diff changeset
1945 Allows overriding the server name used to
1166
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1946 <link id="proxy_ssl_verify">verify</link>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1947 the certificate of the proxied HTTPS server and to be
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1948 <link id="proxy_ssl_server_name">passed through SNI</link>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1949 when establishing a connection with the proxied HTTPS server.
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1950 </para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1951
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1952 <para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1953 By default, the host part of the <link id="proxy_pass"/> URL is used.
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1954 </para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1955
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1956 </directive>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1957
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
1958
1372
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1959 <directive name="proxy_ssl_password_file">
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1960 <syntax><value>file</value></syntax>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1961 <default/>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1962 <context>http</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1963 <context>server</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1964 <context>location</context>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1965 <appeared-in>1.7.8</appeared-in>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1966
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1967 <para>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1968 Specifies a <value>file</value> with passphrases for
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1969 <link id="proxy_ssl_certificate_key">secret keys</link>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1970 where each passphrase is specified on a separate line.
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1971 Passphrases are tried in turn when loading the key.
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1972 </para>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1973
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1974 </directive>
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1975
e0e1e5db06bb Documented the proxy_ssl_certificate directive and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1353
diff changeset
1976
2142
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1977 <directive name="proxy_ssl_protocols">
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1978 <syntax>
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1979 [<literal>SSLv2</literal>]
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1980 [<literal>SSLv3</literal>]
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1981 [<literal>TLSv1</literal>]
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1982 [<literal>TLSv1.1</literal>]
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1983 [<literal>TLSv1.2</literal>]
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1984 [<literal>TLSv1.3</literal>]</syntax>
2948
37e082fd009c Added TLSv1.3 to the default value of ssl_protocols and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2865
diff changeset
1985 <default>TLSv1 TLSv1.1 TLSv1.2 TLSv1.3</default>
2142
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1986 <context>http</context>
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1987 <context>server</context>
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1988 <context>location</context>
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1989 <appeared-in>1.5.6</appeared-in>
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1990
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1991 <para>
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1992 Enables the specified protocols for requests to a proxied HTTPS server.
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1993 </para>
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
1994
2948
37e082fd009c Added TLSv1.3 to the default value of ssl_protocols and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2865
diff changeset
1995 <para>
37e082fd009c Added TLSv1.3 to the default value of ssl_protocols and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2865
diff changeset
1996 <note>
37e082fd009c Added TLSv1.3 to the default value of ssl_protocols and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2865
diff changeset
1997 The <literal>TLSv1.3</literal> parameter is used by default
37e082fd009c Added TLSv1.3 to the default value of ssl_protocols and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2865
diff changeset
1998 since 1.23.4.
37e082fd009c Added TLSv1.3 to the default value of ssl_protocols and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2865
diff changeset
1999 </note>
37e082fd009c Added TLSv1.3 to the default value of ssl_protocols and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2865
diff changeset
2000 </para>
37e082fd009c Added TLSv1.3 to the default value of ssl_protocols and friends.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2865
diff changeset
2001
2142
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
2002 </directive>
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
2003
ca7568f67dee Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 2090
diff changeset
2004
1166
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2005 <directive name="proxy_ssl_server_name">
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2006 <syntax><literal>on</literal> | <literal>off</literal></syntax>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2007 <default>off</default>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2008 <context>http</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2009 <context>server</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2010 <context>location</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2011 <appeared-in>1.7.0</appeared-in>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2012
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2013 <para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2014 Enables or disables passing of the server name through
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2015 <link url="http://en.wikipedia.org/wiki/Server_Name_Indication">TLS
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2016 Server Name Indication extension</link> (SNI, RFC 6066)
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2017 when establishing a connection with the proxied HTTPS server.
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2018 </para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2019
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2020 </directive>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2021
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2022
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2023 <directive name="proxy_ssl_session_reuse">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2024 <syntax><literal>on</literal> | <literal>off</literal></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2025 <default>on</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2026 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2027 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2028 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2029
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2030 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2031 Determines whether SSL sessions can be reused when working with
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2032 the proxied server.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2033 If the errors
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2034 “<literal>SSL3_GET_FINISHED:digest check failed</literal>”
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
2035 appear in the logs, try disabling session reuse.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2036 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2037
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2038 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2039
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2040
1166
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2041 <directive name="proxy_ssl_trusted_certificate">
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2042 <syntax><value>file</value></syntax>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2043 <default/>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2044 <context>http</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2045 <context>server</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2046 <context>location</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2047 <appeared-in>1.7.0</appeared-in>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2048
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2049 <para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2050 Specifies a <value>file</value> with trusted CA certificates in the PEM format
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2051 used to <link id="proxy_ssl_verify">verify</link>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2052 the certificate of the proxied HTTPS server.
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2053 </para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2054
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2055 </directive>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2056
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2057
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2058 <directive name="proxy_ssl_verify">
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2059 <syntax><literal>on</literal> | <literal>off</literal></syntax>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2060 <default>off</default>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2061 <context>http</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2062 <context>server</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2063 <context>location</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2064 <appeared-in>1.7.0</appeared-in>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2065
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2066 <para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2067 Enables or disables verification of the proxied HTTPS server certificate.
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2068 </para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2069
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2070 </directive>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2071
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2072
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2073 <directive name="proxy_ssl_verify_depth">
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2074 <syntax><value>number</value></syntax>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2075 <default>1</default>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2076 <context>http</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2077 <context>server</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2078 <context>location</context>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2079 <appeared-in>1.7.0</appeared-in>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2080
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2081 <para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2082 Sets the verification depth in the proxied HTTPS server certificates chain.
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2083 </para>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2084
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2085 </directive>
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2086
1d299c6f7c49 The new directives "proxy_ssl_verify" and "proxy_ssl_server_name".
Ruslan Ermilov <ru@nginx.com>
parents: 1155
diff changeset
2087
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2088 <directive name="proxy_store">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2089 <syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2090 <literal>on</literal> |
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2091 <literal>off</literal> |
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2092 <value>string</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2093 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2094 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2095 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2096 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2097
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2098 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2099 Enables saving of files to a disk.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2100 The <literal>on</literal> parameter saves files with paths
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2101 corresponding to the directives
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2102 <link doc="ngx_http_core_module.xml" id="alias"/> or
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2103 <link doc="ngx_http_core_module.xml" id="root"/>.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2104 The <literal>off</literal> parameter disables saving of files.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2105 In addition, the file name can be set explicitly using the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2106 <value>string</value> with variables:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2107 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2108 proxy_store /data/www$original_uri;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2109 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2110 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2111
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2112 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2113 The modification time of files is set according to the received
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2114 <header>Last-Modified</header> response header field.
1149
1501e5848052 Corrected the usage of the definite article.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1146
diff changeset
2115 The response is first written to a temporary file,
1501e5848052 Corrected the usage of the definite article.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1146
diff changeset
2116 and then the file is renamed.
959
fbb4cc6f8c3d Text review of ngx_http_proxy_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
2117 Starting from version 0.8.9, temporary files and the persistent store
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
2118 can be put on different file systems.
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
2119 However, be aware that in this case a file is copied
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
2120 across two file systems instead of the cheap renaming operation.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2121 It is thus recommended that for any given location both saved files and a
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
2122 directory holding temporary files, set by the <link id="proxy_temp_path"/>
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 959
diff changeset
2123 directive, are put on the same file system.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2124 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2125
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2126 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2127 This directive can be used to create local copies of static unchangeable
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2128 files, e.g.:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2129 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2130 location /images/ {
1005
2275611970dd Removed open_file_cache_errors from proxy_store examples.
Maxim Dounin <mdounin@mdounin.ru>
parents: 993
diff changeset
2131 root /data/www;
2275611970dd Removed open_file_cache_errors from proxy_store examples.
Maxim Dounin <mdounin@mdounin.ru>
parents: 993
diff changeset
2132 error_page 404 = /fetch$uri;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2133 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2134
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2135 location /fetch/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2136 internal;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2137
1005
2275611970dd Removed open_file_cache_errors from proxy_store examples.
Maxim Dounin <mdounin@mdounin.ru>
parents: 993
diff changeset
2138 proxy_pass http://backend/;
2275611970dd Removed open_file_cache_errors from proxy_store examples.
Maxim Dounin <mdounin@mdounin.ru>
parents: 993
diff changeset
2139 proxy_store on;
2275611970dd Removed open_file_cache_errors from proxy_store examples.
Maxim Dounin <mdounin@mdounin.ru>
parents: 993
diff changeset
2140 proxy_store_access user:rw group:rw all:r;
2275611970dd Removed open_file_cache_errors from proxy_store examples.
Maxim Dounin <mdounin@mdounin.ru>
parents: 993
diff changeset
2141 proxy_temp_path /data/temp;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2142
1005
2275611970dd Removed open_file_cache_errors from proxy_store examples.
Maxim Dounin <mdounin@mdounin.ru>
parents: 993
diff changeset
2143 alias /data/www/;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2144 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2145 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2146 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2147
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2148 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2149 or like this:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2150 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2151 location /images/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2152 root /data/www;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2153 error_page 404 = @fetch;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2154 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2155
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2156 location @fetch {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2157 internal;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2158
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2159 proxy_pass http://backend;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2160 proxy_store on;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2161 proxy_store_access user:rw group:rw all:r;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2162 proxy_temp_path /data/temp;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2163
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2164 root /data/www;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2165 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2166 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2167 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2168
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2169 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2170
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2171
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2172 <directive name="proxy_store_access">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2173 <syntax><value>users</value>:<value>permissions</value> ...</syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2174 <default>user:rw</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2175 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2176 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2177 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2178
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2179 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2180 Sets access permissions for newly created files and directories, e.g.:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2181 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2182 proxy_store_access user:rw group:rw all:r;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2183 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2184 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2185
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2186 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2187 If any <literal>group</literal> or <literal>all</literal> access permissions
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2188 are specified then <literal>user</literal> permissions may be omitted:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2189 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2190 proxy_store_access group:rw all:r;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2191 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2192 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2193
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2194 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2195
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2196
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2197 <directive name="proxy_temp_file_write_size">
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2198 <syntax><value>size</value></syntax>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2199 <default>8k|16k</default>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2200 <context>http</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2201 <context>server</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2202 <context>location</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2203
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2204 <para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2205 Limits the <value>size</value> of data written to a temporary file
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2206 at a time, when buffering of responses from the proxied server
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2207 to temporary files is enabled.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2208 By default, <value>size</value> is limited by two buffers set by the
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2209 <link id="proxy_buffer_size"/> and <link id="proxy_buffers"/> directives.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2210 The maximum size of a temporary file is set by the
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2211 <link id="proxy_max_temp_file_size"/> directive.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2212 </para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2213
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2214 </directive>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2215
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2216
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2217 <directive name="proxy_temp_path">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2218 <syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2219 <value>path</value>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2220 [<value>level1</value>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2221 [<value>level2</value>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2222 [<value>level3</value>]]]</syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2223 <default>proxy_temp</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2224 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2225 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2226 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2227
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2228 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2229 Defines a directory for storing temporary files
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
2230 with data received from proxied servers.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2231 Up to three-level subdirectory hierarchy can be used underneath the specified
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2232 directory.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2233 For example, in the following configuration
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2234 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2235 proxy_temp_path /spool/nginx/proxy_temp 1 2;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2236 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2237 a temporary file might look like this:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2238 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2239 /spool/nginx/proxy_temp/<emphasis>7</emphasis>/<emphasis>45</emphasis>/00000123<emphasis>457</emphasis>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2240 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2241 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2242
1384
66ee77849563 Documented the use_temp_path parameter of the proxy_cache_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1382
diff changeset
2243 <para>
66ee77849563 Documented the use_temp_path parameter of the proxy_cache_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1382
diff changeset
2244 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
2245 <link id="proxy_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
2246 </para>
66ee77849563 Documented the use_temp_path parameter of the proxy_cache_path directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1382
diff changeset
2247
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2248 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2249
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2250 </section>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2251
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2252
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2253 <section id="variables" name="Embedded Variables">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2254
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2255 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2256 The <literal>ngx_http_proxy_module</literal> module supports embedded variables
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2257 that can be used to compose headers using the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2258 <link id="proxy_set_header"/> directive:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2259 <list type="tag">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2260
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1153
diff changeset
2261 <tag-name id="var_proxy_host"><var>$proxy_host</var></tag-name>
1298
c459ca97c14d Updated description of $proxy_host and $proxy_port variables.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
2262 <tag-desc>name and port of a proxied server as specified in the
c459ca97c14d Updated description of $proxy_host and $proxy_port variables.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
2263 <link id="proxy_pass"/> directive;</tag-desc>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2264
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1153
diff changeset
2265 <tag-name id="var_proxy_port"><var>$proxy_port</var></tag-name>
1298
c459ca97c14d Updated description of $proxy_host and $proxy_port variables.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
2266 <tag-desc>port of a proxied server as specified in the
c459ca97c14d Updated description of $proxy_host and $proxy_port variables.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1290
diff changeset
2267 <link id="proxy_pass"/> directive, or the protocol’s default port;</tag-desc>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2268
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1153
diff changeset
2269 <tag-name id="var_proxy_add_x_forwarded_for">
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1153
diff changeset
2270 <var>$proxy_add_x_forwarded_for</var></tag-name>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2271 <tag-desc>the <header>X-Forwarded-For</header> client request header field
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2272 with the <var>$remote_addr</var> variable appended to it, separated by a comma.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2273 If the <header>X-Forwarded-For</header> field is not present in the client
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2274 request header, the <var>$proxy_add_x_forwarded_for</var> variable is equal
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2275 to the <var>$remote_addr</var> variable.</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2276 </list>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2277 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2278
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2279 </section>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2280
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2281 </module>