annotate xml/en/docs/http/ngx_http_proxy_module.xml @ 917:e26a18eb5ccd

Documented http_403 in proxy_next_upstream and friends.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 30 May 2013 12:29:42 +0400
parents 43887f41bb17
children ba3d6ade3513
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"
917
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
13 rev="11">
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>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
18 The <literal>ngx_http_proxy_module</literal> module allows to pass
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">
815
ed29fd8be462 *_bind: variables support and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 799
diff changeset
43 <syntax><value>address</value> | <literal>off</literal></syntax>
772
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
44 <default/>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
45 <context>http</context>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
46 <context>server</context>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
47 <context>location</context>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
48 <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
49
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
50 <para>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
51 Forces outgoing connections to a proxied server to originate
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
52 from the specified local IP <value>address</value>.
815
ed29fd8be462 *_bind: variables support and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 799
diff changeset
53 Value of the parameter can contain variables (1.3.12).
ed29fd8be462 *_bind: variables support and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 799
diff changeset
54 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
55 of the <literal>proxy_bind</literal> directive
ed29fd8be462 *_bind: variables support and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 799
diff changeset
56 inherited from the previous configuration level, allowing the
ed29fd8be462 *_bind: variables support and inheritance.
Ruslan Ermilov <ru@nginx.com>
parents: 799
diff changeset
57 system to auto-assign local address.
772
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
58 </para>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
59
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
60 </directive>
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
61
ce121bf644f5 Documented "bind" directive in memcached, fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 589
diff changeset
62
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
63 <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
64 <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
65 <default>4k|8k</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
66 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
67 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
68 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
69
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
70 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
71 Sets <value>size</value> of the buffer used for reading the first part
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
72 of a response received from the proxied server.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
73 This part usually contains a small response header.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
74 By default, the buffer size is equal to the size of one
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
75 buffer set by the <link id="proxy_buffers"/> directive.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
76 It can be made smaller however.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
77 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
78
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
79 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
80
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
81
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
82 <directive name="proxy_buffering">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
83 <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
84 <default>on</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
85 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
86 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
87 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
88
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
89 <para>
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
90 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
91 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
92
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
93 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
94 When buffering is enabled, nginx receives 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
95 as soon as possible, saving it into buffers set by the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
96 <link id="proxy_buffer_size"/> and <link id="proxy_buffers"/> directives.
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
97 If the whole response does not fit into memory, part of it can be saved
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
98 to a <link id="proxy_temp_path">temporary file</link> on disk.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
99 Writes to temporary files are controlled by the
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
100 <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
101 <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
102 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
103
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
104 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
105 When buffering is disabled, a response is passed to a client synchronously,
362
db6774c4c699 Fixed translation.
Ruslan Ermilov <ru@nginx.com>
parents: 351
diff changeset
106 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
107 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
108 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
109 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
110 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
111
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
112 <para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
113 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
114 “<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
115 <header>X-Accel-Buffering</header> response header field.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
116 This ability can be disabled using the
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
117 <link doc="ngx_http_proxy_module.xml" 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
118 </para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
119
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
120 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
121
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
122
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
123 <directive name="proxy_buffers">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
124 <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
125 <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
126 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
127 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
128 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
129
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
130 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
131 Sets the <value>number</value> and <value>size</value> of
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
132 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
133 for a single connection.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
134 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
135 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
136 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
137
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
138 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
139
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
140
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
141 <directive name="proxy_busy_buffers_size">
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
142 <syntax><value>size</value></syntax>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
143 <default>8k|16k</default>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
144 <context>http</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
145 <context>server</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
146 <context>location</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
147
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
148 <para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
149 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
150 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
151 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
152 yet fully read.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
153 In the mean time, the rest of the buffers can be used for reading a response
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
154 and, if needed, buffering part of a response to a temporary file.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
155 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
156 <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
157 </para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
158
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
159 </directive>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
160
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
161
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
162 <directive name="proxy_cache">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
163 <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
164 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
165 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
166 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
167 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
168
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
169 <para>
575
ebcb351d9eb3 Consistently using the term "shared memory zone".
Ruslan Ermilov <ru@nginx.com>
parents: 535
diff changeset
170 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
171 The same zone can be used in several places.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
172 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
173 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
174 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
175
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
176 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
177
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
178
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
179 <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
180 <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
181 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
182 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
183 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
184 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
185
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
186 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
187 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
188 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
189 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
190 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
191 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
192 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
193 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
194 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
195 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
196
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
197 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
198
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 <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
201 <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
202 <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
203 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
204 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
205 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
206
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
207 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
208 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
209 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
210 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
211 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
212 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
213 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
214 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
215 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
216 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
217
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
218 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
219
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
220
302
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
221 <directive name="proxy_cache_lock">
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
222 <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
223 <default>off</default>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
224 <context>http</context>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
225 <context>server</context>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
226 <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
227 <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
228
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
229 <para>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
230 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
231 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
232 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
233 Other requests of the same cache element will either wait
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
234 for a response to appear in the cache, or the cache lock for
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
235 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
236 <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
237 </para>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
238
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
239 </directive>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
240
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
241
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
242 <directive name="proxy_cache_lock_timeout">
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
243 <syntax><value>time</value></syntax>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
244 <default>5s</default>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
245 <context>http</context>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
246 <context>server</context>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
247 <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
248 <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
249
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
250 <para>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
251 Sets a timeout for <link id="proxy_cache_lock"/>.
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
252 </para>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
253
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
254 </directive>
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
255
df728215db07 Documented "proxy_cache_lock", "proxy_cache_lock_timeout",
Ruslan Ermilov <ru@nginx.com>
parents: 297
diff changeset
256
790
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
257 <directive name="proxy_cache_methods">
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
258 <syntax>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
259 <literal>GET</literal> |
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
260 <literal>HEAD</literal> |
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
261 <literal>POST</literal>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
262 ...</syntax>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
263 <default>GET HEAD</default>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
264 <context>http</context>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
265 <context>server</context>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
266 <context>location</context>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
267 <appeared-in>0.7.59</appeared-in>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
268
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
269 <para>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
270 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
271 the response will be cached.
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
272 “<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
273 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
274 See also the <link id="proxy_no_cache"/> directive.
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
275 </para>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
276
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
277 </directive>
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
278
ae776a353984 Documented "proxy_cache_methods" directive.
Vladimir Homutov <vl@nginx.com>
parents: 789
diff changeset
279
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
280 <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
281 <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
282 <default>1</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
283 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
284 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
285 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
286
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
287 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
288 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
289 will be cached.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
290 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
291
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
292 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
293
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
294
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
295 <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
296 <syntax>
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
297 <value>path</value>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
298 [<literal>levels</literal>=<value>levels</value>]
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
299 <literal>keys_zone</literal>=<value>name</value>:<value>size</value>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
300 [<literal>inactive</literal>=<value>time</value>]
508
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
301 [<literal>max_size</literal>=<value>size</value>]
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
302 [<literal>loader_files</literal>=<value>number</value>]
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
303 [<literal>loader_sleep</literal>=<value>time</value>]
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
304 [<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
305 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
306 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
307
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
308 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
309 Sets path and other parameters of a cache.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
310 Cache data are stored in files.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
311 Both the key and file name in a cache are a result of
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
312 applying the MD5 function to the proxied URL.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
313
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
314 The <literal>levels</literal> parameter defines hierarchy levels of a cache.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
315 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
316 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
317 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
318 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
319 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
320 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
321 /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
322 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
323 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
324
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
325 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
326 A cached response is first written to a temporary file, then a file is renamed.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
327 Starting from version 0.8.9 temporary files and the cache can be put on
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
328 different file systems but be aware that in this case a file is copied
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
329 across two file systems instead of the cheap rename operation.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
330 It is thus recommended that for any given location both cache and a directory
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
331 holding temporary files set by the <link id="proxy_temp_path"/> directive
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
332 are put on the same file system.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
333 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
334
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
335 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
336 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
337 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
338 are configured by the <literal>keys_zone</literal> parameter.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
339 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
340 <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
341 regardless of their freshness.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
342 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
343 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
344
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
345 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
346 The special process “cache manager” monitors the maximum cache size set
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
347 by the <literal>max_size</literal> parameter;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
348 when this size is exceeded it removes the least recently used data.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
349 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
350
508
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
351 <para>
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
352 A minute after the start the special process “cache loader” is activated
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
353 that loads information about previously cached data stored on file system
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
354 into a cache zone.
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
355 A load is done in iterations.
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
356 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
357 are loaded (by default, 100).
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
358 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
359 <literal>loader_threshold</literal> parameter (by default, 200 milliseconds).
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
360 A pause is made between iterations, configured by the
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
361 <literal>loader_sleep</literal> parameter (by default, 50 milliseconds).
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
362 </para>
5e332fafd228 Documented "cache loader" and its parameters.
Ruslan Ermilov <ru@nginx.com>
parents: 506
diff changeset
363
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
364 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
365
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
366
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
367 <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
368 <syntax>
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
369 <literal>error</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
370 <literal>timeout</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
371 <literal>invalid_header</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
372 <literal>updating</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
373 <literal>http_500</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
374 <literal>http_502</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
375 <literal>http_503</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
376 <literal>http_504</literal> |
917
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
377 <literal>http_403</literal> |
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
378 <literal>http_404</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
379 <literal>off</literal>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
380 ...</syntax>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
381 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
382 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
383 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
384 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
385
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
386 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
387 If an error occurs while working with the proxied server it is possible
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
388 to use a stale cached response.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
389 This directives determines in which cases it is permitted.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
390 The directive’s parameters match those of the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
391 <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
392 </para>
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
393
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
394 <para>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
395 Additionally, the <literal>updating</literal> parameter permits
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
396 to use a stale cached response if it is currently being updated.
504
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
397 This allows to minimize the number of accesses to proxied servers
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
398 when updating cached data.
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
399 </para>
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
400
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
401 <para>
695f83494c19 Emphasized on what the "updating" parameter of the "proxy_cache_use_stale"
Ruslan Ermilov <ru@nginx.com>
parents: 417
diff changeset
402 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
403 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
404 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
405 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
406
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
407 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
408
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
409
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
410 <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
411 <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
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 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
415 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
416
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
417 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
418 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
419 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
420 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
421 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
422 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
423 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
424 set 10 minutes of caching for responses with codes 200 and 302,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
425 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
426 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
427
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
428 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
429 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
430 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
431 proxy_cache_valid 5m;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
432 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
433 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
434 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
435
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
436 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
437 In addition, it can be specified to cache any responses using the
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
438 <literal>any</literal> parameter:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
439 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
440 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
441 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
442 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
443 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
444 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
445
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
446 <para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
447 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
448 in the response header.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
449 This has a higher precedence than setting of caching time using the directive.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
450 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
451 response in seconds.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
452 The value 0 disables to cache a response.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
453 If a value starts with the prefix <literal>@</literal>, it sets an absolute
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
454 time in seconds since Epoch, up to which the response may be cached.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
455 If header does not include the <header>X-Accel-Expires</header> field,
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
456 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
457 <header>Expires</header> or <header>Cache-Control</header>.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
458 If a header includes the <header>Set-Cookie</header> field, such a
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
459 response will not be cached.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
460 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
461 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
462 </para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
463
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
464 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
465
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
466
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
467 <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
468 <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
469 <default>60s</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
470 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
471 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
472 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
473
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
474 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
475 Defines a timeout for establishing a connection with the proxied server.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
476 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
477 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
478
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
479 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
480
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
481
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
482 <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
483 <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
484 <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
485 <default>off</default>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
486 <context>http</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
487 <context>server</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
488 <context>location</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
489 <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
490
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
491 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
492 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
493 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
494 proxied server response.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
495 Suppose a proxied server returned the header field
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
496 <header>Set-Cookie</header> with the attribute
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
497 “<literal>domain=localhost</literal>”.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
498 The directive
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
499 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
500 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
501 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
502 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
503 “<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
504 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
505
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
506 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
507 A dot at the beginning of the <value>domain</value> and
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
508 <value>replacement</value> strings, and the <literal>domain</literal>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
509 attribute is ignored.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
510 Matching is case-insensitive.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
511 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
512
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
513 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
514 The strings <value>domain</value> and <value>replacement</value>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
515 can contain variables:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
516 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
517 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
518 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
519 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
520
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
521 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
522 A directive can also be specified using regular expressions.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
523 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
524 the “<literal>~</literal>” symbol.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
525 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
526 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
527 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
528 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
529 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
530 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
531
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
532 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
533 There could be several <literal>proxy_cookie_domain</literal> directives:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
534 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
535 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
536 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
537 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
538 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
539
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
540 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
541 The <literal>off</literal> parameter cancels all
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
542 <literal>proxy_cookie_domain</literal> directives on the current level:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
543 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
544 proxy_cookie_domain off;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
545 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
546 proxy_cookie_domain www.example.org example.org;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
547 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
548 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
549
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
550 </directive>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
551
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
552
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
553 <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
554 <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
555 <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
556 <default>off</default>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
557 <context>http</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
558 <context>server</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
559 <context>location</context>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
560 <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
561
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
562 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
563 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
564 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
565 proxied server response.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
566 Suppose a proxied server returned the header field
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
567 <header>Set-Cookie</header> with the attribute
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
568 “<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
569 The directive
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
570 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
571 proxy_cookie_path /two/ /;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
572 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
573 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
574 “<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
575 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
576
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
577 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
578 The strings <value>path</value> and <value>replacement</value>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
579 can contain variables:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
580 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
581 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
582 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
583 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
584
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
585 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
586 A directive can also be specified using regular expressions.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
587 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
588 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
589 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
590 matching.
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
591 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
592 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
593 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
594 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
595 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
596 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
597
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
598 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
599 There could be several <literal>proxy_cookie_path</literal> directives:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
600 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
601 proxy_cookie_path /one/ /;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
602 proxy_cookie_path / /two/;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
603 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
604 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
605
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
606 <para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
607 The <literal>off</literal> parameter cancels all
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
608 <literal>proxy_cookie_path</literal> directives on the current level:
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
609 <example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
610 proxy_cookie_path off;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
611 proxy_cookie_path /two/ /;
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
612 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
613 </example>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
614 </para>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
615
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
616 </directive>
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
617
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
618
799
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
619 <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
620 <syntax><value>size</value></syntax>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
621 <default>64</default>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
622 <context>http</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
623 <context>server</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
624 <context>location</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
625
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
626 <para>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
627 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
628 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
629 directives.
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
630 Details of setting up hash tables are provided in a separate
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
631 <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
632 </para>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
633
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
634 </directive>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
635
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
636
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
637 <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
638 <syntax><value>size</value></syntax>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
639 <default>512</default>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
640 <context>http</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
641 <context>server</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
642 <context>location</context>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
643
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
644 <para>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
645 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
646 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
647 directives.
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
648 Details of setting up hash tables are provided in a separate
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
649 <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
650 </para>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
651
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
652 </directive>
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
653
9e5847af3b2d Documented the "proxy_headers_hash_bucket/max_size" directives.
Vladimir Homutov <vl@nginx.com>
parents: 790
diff changeset
654
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
655 <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
656 <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
657 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
658 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
659 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
660 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
661
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
662 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
663 By default,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
664 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
665 <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
666 <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
667 server to a client.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
668 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
669 that will not be passed.
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
670 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
671 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
672 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
673
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
674 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
675
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
676
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
677 <directive name="proxy_http_version">
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
678 <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
679 <default>1.0</default>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
680 <context>http</context>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
681 <context>server</context>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
682 <context>location</context>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
683 <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
684
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
685 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
686 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
687 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
688 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
689 <link doc="ngx_http_upstream_module.xml" id="keepalive"/>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
690 connections.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
691 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
692
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
693 </directive>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
694
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 310
diff changeset
695
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
696 <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
697 <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
698 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
699 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
700 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
701 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
702
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
703 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
704 Determines should the connection with a proxied server be
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
705 closed if a client closes a connection without waiting
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
706 for a response.
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
707 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
708
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
709 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
710
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
711
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
712 <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
713 <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
714 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
715 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
716 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
717 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
718
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
719 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
720 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
721 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
722 <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
723 <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
724 <header>X-Accel-Charset</header> (1.1.6), <header>Expires</header>,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
725 <header>Cache-Control</header>, and <header>Set-Cookie</header> (0.8.44).
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
726 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
727
506
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
728 <para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
729 If not disabled, processing of these header fields has the following effect:
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
730 <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
731
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
732 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
733 <header>X-Accel-Expires</header>, <header>Expires</header>,
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
734 <header>Cache-Control</header>, and <header>Set-Cookie</header>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
735 set parameters of response <link id="proxy_cache_valid">caching</link>;
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
736 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
737
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
738 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
739 <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
740 <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
741 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
742 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
743
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
744 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
745 <header>X-Accel-Limit-Rate</header> sets a
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
746 <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
747 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
748 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
749
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
750 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
751 <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
752 <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
753 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
754
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
755 <listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
756 <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
757 <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
758 of a response.
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
759 </listitem>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
760
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
761 </list>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
762 </para>
657848837328 Documented how nginx processes proxied server's response header fields
Ruslan Ermilov <ru@nginx.com>
parents: 504
diff changeset
763
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
764 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
765
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
766
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
767 <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
768 <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
769 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
770 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
771 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
772 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
773
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
774 <para>
297
94c8df379088 Added missing word.
Ruslan Ermilov <ru@nginx.com>
parents: 294
diff changeset
775 Determines whether proxied responses with codes greater than or equal
907
43887f41bb17 Corrected the descriptions of {proxy,fastcgi}_intercept_errors.
Ruslan Ermilov <ru@nginx.com>
parents: 849
diff changeset
776 to 300 should be passed to a client or be redirected to nginx for processing
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
777 using the <link doc="ngx_http_core_module.xml" id="error_page"/> directive.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
778 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
779
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
780 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
781
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
782
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
783 <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
784 <syntax><value>size</value></syntax>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
785 <default>1024m</default>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
786 <context>http</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
787 <context>server</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
788 <context>location</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
789
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
790 <para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
791 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
792 server is enabled, and the whole response does not fit into memory buffers
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
793 set by the <link id="proxy_buffer_size"/> and <link id="proxy_buffers"/>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
794 directives, part of a response can be saved to a temporary file.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
795 This directive sets the maximum <value>size</value> of a temporary file.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
796 The size of data written to a temporary file at a time is set
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
797 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
798 </para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
799
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
800 <para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
801 Value of zero disables buffering of responses to temporary files.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
802 </para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
803
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
804 </directive>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
805
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
806
787
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
807 <directive name="proxy_method">
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
808 <syntax><value>method</value></syntax>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
809 <default/>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
810 <context>http</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
811 <context>server</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
812 <context>location</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
813
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
814 <para>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
815 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
816 to the proxied server instead of the method from the client request.
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
817 </para>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
818
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
819 </directive>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
820
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
821
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
822 <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
823 <syntax>
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
824 <literal>error</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
825 <literal>timeout</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
826 <literal>invalid_header</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
827 <literal>http_500</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
828 <literal>http_502</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
829 <literal>http_503</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
830 <literal>http_504</literal> |
917
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
831 <literal>http_403</literal> |
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
832 <literal>http_404</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
833 <literal>off</literal>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 362
diff changeset
834 ...</syntax>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
835 <default>error timeout</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
836 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
837 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
838 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
839
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
840 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
841 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
842 <list type="tag">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
843
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
844 <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
845 <tag-desc>an error occurred while establishing a connection with the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
846 server, passing it a request, or reading the response header;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
847
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
848 <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
849 <tag-desc>a timeout has occurred while establishing a connection with the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
850 server, passing it a request, or reading the response header;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
851
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
852 <tag-name><literal>invalid_header</literal></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
853 <tag-desc>a server returned empty or invalid response;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
854
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
855 <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
856 <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
857
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
858 <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
859 <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
860
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
861 <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
862 <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
863
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
864 <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
865 <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
866
917
e26a18eb5ccd Documented http_403 in proxy_next_upstream and friends.
Maxim Dounin <mdounin@mdounin.ru>
parents: 907
diff changeset
867 <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
868 <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
869
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
870 <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
871 <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
872
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
873 <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
874 <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
875
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
876 </list>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
877 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
878
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
879 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
880 It should be understood that passing a request to the next server is
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
881 only possible if a client was not sent anything yet.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
882 That is, if an error or a timeout occurs in the middle of
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
883 transferring a response, fixing this is impossible.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
884 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
885
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
886 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
887
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
888
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
889 <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
890 <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
891 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
892 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
893 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
894 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
895
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
896 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
897 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
898 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
899 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
900 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
901 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
902 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
903 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
904 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
905 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
906
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
907 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
908
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
909
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
910 <directive name="proxy_pass">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
911 <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
912 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
913 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
914 <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
915 <context>limit_except</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
916
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
917 <para>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
918 Sets the protocol and address of a proxied server, and an optional URI
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
919 to which a location should be mapped.
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
920 A protocol can be specified as
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
921 “<literal>http</literal>” or “<literal>https</literal>”.
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
922 An address can be specified as a domain name or IP address,
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
923 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
924 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
925 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
926 </example>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
927 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
928 “<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
929 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
930 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
931 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
932 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
933
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
934 <para>
294
9f5ee1c6fca5 Use consistent wording.
Ruslan Ermilov <ru@nginx.com>
parents: 281
diff changeset
935 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
936 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
937 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
938 <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
939 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
940
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
941 <para>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
942 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
943 <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
944
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
945 <listitem>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
946 If <literal>proxy_pass</literal> is specified with URI,
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
947 when passing a request to the server, part of a
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
948 <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
949 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
950 specified in the directive:
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
951 <example>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
952 location /name/ {
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
953 proxy_pass http://127.0.0.1/remote/;
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
954 }
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
955 </example>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
956 </listitem>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
957
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
958 <listitem>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
959 If <literal>proxy_pass</literal> is specified without URI,
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
960 a request URI is passed to the server in the same form
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
961 as sent by a client when processing an original request,
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
962 or the full normalized request URI is passed
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
963 when processing the changed URI:
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
964 <example>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
965 location /some/path/ {
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
966 proxy_pass http://127.0.0.1;
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
967 }
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
968 </example>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
969 <note>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
970 Before version 1.1.12,
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
971 if <literal>proxy_pass</literal> is specified without a URI,
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
972 an original request URI might be passed
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
973 instead of the changed URI in some cases.
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
974 </note>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
975 </listitem>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
976 </list>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
977 </para>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
978
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
979 <para>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
980 In some cases, part of a request URI to be replaced cannot be determined:
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
981 <list type="bullet" compact="no">
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
982
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
983 <listitem>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
984 When location is specified using a regular expression.
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
985 <para>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
986 In this case, the directive should be specified without URI.
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
987 </para>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
988 </listitem>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
989
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
990 <listitem>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
991 When URI is changed inside a proxied location using the
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
992 <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
993 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
994 (<literal>break</literal>):
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
995 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
996 location /name/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
997 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
998 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
999 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1000 </example>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1001 <para>
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1002 In this case, a URI specified in the directive is ignored and
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1003 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
1004 </para>
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1005 </listitem>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1006 </list>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1007 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1008
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1009 <para>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1010 A server name, its port and passed URI can also be specified using variables:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1011 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1012 proxy_pass http://$host$uri;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1013 </example>
535
f8652d663b62 Revised description of "proxy_pass".
Ruslan Ermilov <ru@nginx.com>
parents: 508
diff changeset
1014 or even like this:
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1015 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1016 proxy_pass $request;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1017 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1018 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1019
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1020 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1021 In this case the server name is searched among the described
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1022 <link doc="ngx_http_upstream_module.xml">server groups</link>,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1023 and if not found is determined using a
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1024 <link doc="ngx_http_core_module.xml" id="resolver"/>.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1025 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1026
849
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1027 <para>
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1028 <link doc="websocket.xml">WebSocket</link> proxying requires special
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1029 configuration and is supported since version 1.3.13.
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1030 </para>
0ed4c093c026 WebSocket proxying howto.
Homutov Vladimir <vl@nginx.com>
parents: 815
diff changeset
1031
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1032 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1033
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1034
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1035 <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
1036 <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
1037 <default/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1038 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1039 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1040 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1041
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1042 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1043 Permits to pass <link id="proxy_hide_header">otherwise disabled</link> header
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1044 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
1045 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1046
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1047 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1048
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1049
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1050 <directive name="proxy_read_timeout">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1051 <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
1052 <default>60s</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1053 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1054 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1055 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1056
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1057 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1058 Defines a timeout 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
1059 A timeout is only set between two successive read operations,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1060 not for the transmission of the whole response.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1061 If a proxied server does not transmit anything within this time,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1062 a connection is closed.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1063 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1064
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1065 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1066
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1067
789
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1068 <directive name="proxy_pass_request_body">
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1069 <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
1070 <default>on</default>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1071 <context>http</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1072 <context>server</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1073 <context>location</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1074
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1075 <para>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1076 If disabled, the original request body will not be passed
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1077 to the proxied server.
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1078 <example>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1079 location /x-accel-redirect-here/ {
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1080 proxy_method GET;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1081 proxy_pass_request_body off;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1082 proxy_set_header Content-Length "";
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1083
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1084 proxy_pass ...
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1085 }
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1086 </example>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1087 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
1088 <link id="proxy_pass_request_headers"/> directives.
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1089 </para>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1090
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1091 </directive>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1092
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1093
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1094 <directive name="proxy_pass_request_headers">
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1095 <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
1096 <default>on</default>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1097 <context>http</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1098 <context>server</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1099 <context>location</context>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1100
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1101 <para>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1102 If disabled, header fields of the original request will not be passed to the
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1103 proxied server.
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1104 <example>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1105 location /x-accel-redirect-here/ {
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1106 proxy_method GET;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1107 proxy_pass_request_headers off;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1108 proxy_pass_request_body off;
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1109
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1110 proxy_pass ...
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1111 }
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1112 </example>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1113 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
1114 <link id="proxy_pass_request_body"/> directives.
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1115 </para>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1116
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1117 </directive>
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1118
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1119
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1120 <directive name="proxy_redirect">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1121 <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
1122 <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
1123 <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
1124 <default>default</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1125 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1126 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1127 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1128
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1129 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1130 Sets a text that should be changed in the header fields
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1131 <header>Location</header> and <header>Refresh</header> of a response
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1132 from the proxied server.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1133 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
1134 “<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
1135 The directive
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1136 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1137 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
1138 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1139 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
1140 “<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
1141 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1142
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1143 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1144 A server name may be omitted from the <value>replacement</value> string:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1145 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1146 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
1147 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1148 then the primary server’s name and a port, if different from 80,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1149 will be substituted.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1150 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1151
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1152 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1153 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
1154 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
1155 <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
1156 <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
1157 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
1158 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1159 location /one/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1160 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
1161 proxy_redirect default;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1162 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1163
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1164 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1165 location /one/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1166 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
1167 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
1168 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1169 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
1170 <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
1171 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1172
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1173 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1174 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
1175 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1176 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
1177 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1178 </para>
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 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1181 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
1182 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1183 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
1184 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1185 </para>
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 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1188 A directive can be specified (1.1.11) using regular expressions.
417
cbc2d1b51cb6 Documented the proxy_cookie_domain and proxy_cookie_path directives.
Ruslan Ermilov <ru@nginx.com>
parents: 405
diff changeset
1189 In this case, <value>redirect</value> should either start from
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1190 the “<literal>~</literal>” symbol for a case-sensitive matching,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1191 or from the “<literal>~*</literal>” symbols for case-insensitive
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1192 matching.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1193 A regular expression can contain named and positional captures,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1194 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
1195 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1196 proxy_redirect ~^(http://[^:]+):\d+(/.+)$ $1$2;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1197 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
1198 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1199 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1200
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1201 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1202 There could be several <literal>proxy_redirect</literal> directives:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1203 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1204 proxy_redirect default;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1205 proxy_redirect http://localhost:8000/ /;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1206 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
1207 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1208 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1209
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1210 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1211 The <literal>off</literal> parameter cancels all
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1212 <literal>proxy_redirect</literal> directives on the current level:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1213 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1214 proxy_redirect off;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1215 proxy_redirect default;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1216 proxy_redirect http://localhost:8000/ /;
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1217 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
1218 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1219 </para>
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 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1222 Using this directive it is also possible to add host names to relative
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1223 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
1224 <example>
351
a4fa80755eab Consistently strip initial offset in examples.
Ruslan Ermilov <ru@nginx.com>
parents: 316
diff changeset
1225 proxy_redirect / /;
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1226 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1227 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1228
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1229 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1230
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1231
773
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1232 <directive name="proxy_send_lowat">
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1233 <syntax><value>size</value></syntax>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1234 <default>0</default>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1235 <context>http</context>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1236 <context>server</context>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1237 <context>location</context>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1238
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1239 <para>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1240 If set to a non-zero value, nginx will try to minimize the number
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1241 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
1242 <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
1243 <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
1244 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
1245 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
1246 </para>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1247
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1248 <para>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1249 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
1250 </para>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1251
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1252 </directive>
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1253
24b1b0101250 Documented "send_lowat" directive in fastcgi and proxy modules.
Vladimir Homutov <vl@nginx.com>
parents: 772
diff changeset
1254
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1255 <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
1256 <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
1257 <default>60s</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1258 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1259 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1260 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1261
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1262 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1263 Sets a timeout for transmitting a request to the proxied server.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1264 A timeout is only set between two successive write operations,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1265 not for the transmission of the whole request.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1266 If a proxied server does not receive anything within this time,
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1267 a connection is closed.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1268 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1269
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1270 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1271
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1272
787
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1273 <directive name="proxy_set_body">
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1274 <syntax><value>value</value></syntax>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1275 <default/>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1276 <context>http</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1277 <context>server</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1278 <context>location</context>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1279
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1280 <para>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1281 Allows to redefine request body passed to the proxied server.
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1282 A <value>value</value> can contain text, variables, and their combination.
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1283 </para>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1284
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1285 </directive>
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1286
180a64c709d8 Documented "proxy_set_body" and "proxy_method" directives.
Vladimir Homutov <vl@nginx.com>
parents: 773
diff changeset
1287
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1288 <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
1289 <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
1290 <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
1291 <default>Connection close</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>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1297 Allows to redefine or append fields to the request header
789
1063836dacea Documented "proxy_pass_request_body/headers" directives.
Vladimir Homutov <vl@nginx.com>
parents: 787
diff changeset
1298 <link id="proxy_pass_request_headers">passed</link> 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
1299 A <value>value</value> can contain text, variables, and their combination.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1300 These directives are inherited from the previous level if and
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1301 only if there are no
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1302 <literal>proxy_set_header</literal>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1303 directives defined on the current level.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1304 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
1305 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1306 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
1307 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
1308 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1309 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1310
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1311 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1312 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
1313 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1314 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
1315 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1316 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1317
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1318 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1319 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
1320 nothing will be passed.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1321 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
1322 value equals the server name in the <header>Host</header> request header
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1323 field, or the primary server name if this field is not present:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1324 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1325 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
1326 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1327 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1328
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1329 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1330 In addition, a server name can be passed together with a port of the
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1331 proxied server:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1332 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1333 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
1334 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1335 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1336
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1337 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1338 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
1339 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
1340 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1341 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
1342 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1343 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1344
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1345 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1346
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1347
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1348 <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
1349 <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
1350 <default>on</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1351 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1352 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1353 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1354
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1355 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1356 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
1357 the proxied server.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1358 If the errors
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1359 “<literal>SSL3_GET_FINISHED:digest check failed</literal>”
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1360 appear in the logs, try to disable session reuse.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1361 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1362
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1363 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1364
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 <directive name="proxy_store">
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1367 <syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1368 <literal>on</literal> |
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1369 <literal>off</literal> |
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1370 <value>string</value></syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1371 <default>off</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1372 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1373 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1374 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1375
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1376 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1377 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
1378 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
1379 corresponding to the directives
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1380 <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
1381 <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
1382 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
1383 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
1384 <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
1385 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1386 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
1387 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1388 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1389
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1390 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1391 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
1392 <header>Last-Modified</header> response header field.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1393 A response is first written to a temporary file, then a file is renamed.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1394 Starting from version 0.8.9 temporary files and the persistent store
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1395 can be put on different file systems but be aware that in this case
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1396 a file is copied across two file systems instead of the cheap rename operation.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1397 It is thus recommended that for any given location both saved files and a
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1398 directory holding temporary files set by the <link id="proxy_temp_path"/>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1399 directive are put on the same file system.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1400 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1401
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1402 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1403 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
1404 files, e.g.:
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 /images/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1407 root /data/www;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1408 open_file_cache_errors off;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1409 error_page 404 = /fetch$uri;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1410 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1411
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1412 location /fetch/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1413 internal;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1414
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1415 proxy_pass http://backend/;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1416 proxy_store on;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1417 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
1418 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
1419
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1420 alias /data/www/;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1421 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1422 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1423 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1424
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1425 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1426 or like this:
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1427 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1428 location /images/ {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1429 root /data/www;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1430 error_page 404 = @fetch;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1431 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1432
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1433 location @fetch {
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1434 internal;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1435
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1436 proxy_pass http://backend;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1437 proxy_store on;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1438 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
1439 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
1440
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1441 root /data/www;
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1442 }
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1443 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1444 </para>
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 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1447
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1448
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1449 <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
1450 <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
1451 <default>user:rw</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1452 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1453 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1454 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1455
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1456 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1457 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
1458 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1459 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
1460 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1461 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1462
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1463 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1464 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
1465 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
1466 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1467 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
1468 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1469 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1470
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1471 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1472
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1473
405
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1474 <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
1475 <syntax><value>size</value></syntax>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1476 <default>8k|16k</default>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1477 <context>http</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1478 <context>server</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1479 <context>location</context>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1480
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1481 <para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1482 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
1483 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
1484 to temporary files is enabled.
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1485 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
1486 <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
1487 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
1488 <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
1489 </para>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1490
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1491 </directive>
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1492
781b23ba3b0a Documented the following directives: proxy_busy_buffers_size,
Ruslan Ermilov <ru@nginx.com>
parents: 364
diff changeset
1493
281
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1494 <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
1495 <syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1496 <value>path</value>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1497 [<value>level1</value>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1498 [<value>level2</value>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1499 [<value>level3</value>]]]</syntax>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1500 <default>proxy_temp</default>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1501 <context>http</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1502 <context>server</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1503 <context>location</context>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1504
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1505 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1506 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
1507 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
1508 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
1509 directory.
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1510 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
1511 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1512 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
1513 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1514 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
1515 <example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1516 /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
1517 </example>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1518 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1519
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1520 </directive>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1521
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1522 </section>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1523
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1524
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1525 <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
1526
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1527 <para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1528 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
1529 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
1530 <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
1531 <list type="tag">
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 <tag-name><var>$proxy_host</var></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1534 <tag-desc>name and port of a proxied server;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1535
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1536 <tag-name><var>$proxy_port</var></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1537 <tag-desc>port of a proxied server;</tag-desc>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1538
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1539 <tag-name><var>$proxy_add_x_forwarded_for</var></tag-name>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1540 <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
1541 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
1542 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
1543 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
1544 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
1545 </list>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1546 </para>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1547
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1548 </section>
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1549
7142ddd2764c Translated current version of ngx_http_proxy_module documentation into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1550 </module>