Mercurial > hg > nginx
annotate docs/html/http/ngx_http_core_module.html @ 4084:b7c944d1a5a8
Regenerate after previous commits.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Thu, 08 Sep 2011 13:28:25 +0000 |
parents | a1e1b348bfaf |
children | dc1fa52222b4 |
rev | line source |
---|---|
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>HTTP Core Module</title></head><body><a name="directives"></a><center><h4>Directives</h4></center><hr><a name="aio"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
2 <code>aio |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
3 <code>on</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
4 <code>off</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
5 <code>sendfile</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
6 <code>aio off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
7 <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
8 0.8.11<p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
9 Enables or disables the use of asynchronous file I/O (AIO) |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
10 on FreeBSD and Linux. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
11 </p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
12 On FreeBSD, AIO is usable starting from FreeBSD 4.3. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
13 AIO can either be linked statically into a kernel: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
14 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
15 options VFS_AIO |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
16 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
17 or loaded dynamically as a kernel loadable module: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
18 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
19 kldload aio |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
20 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
21 In FreeBSD versions 5 and 6, enabling AIO statically, or dynamically |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
22 when booting the kernel, will cause the entire networking subsystem |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
23 to use the Giant lock that can impact overall performance negatively. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
24 This limitation has been removed in FreeBSD 6.4-STABLE in 2009, and in |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
25 FreeBSD 7. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
26 However, starting from FreeBSD 5.3 it is possible to enable AIO |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
27 without the penalty of running the networking subsystem under a |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
28 Giant lock - for this to work, the AIO module needs to be loaded |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
29 after the kernel has booted. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
30 In this case, the following message will appear in |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
31 <code>/var/log/messages</code><blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
32 WARNING: Network stack Giant-free, but aio requires Giant. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
33 Consider adding 'options NET_WITH_GIANT' or setting debug.mpsafenet=0 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
34 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
35 and can safely be ignored. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
36 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
37 The requirement to use the Giant lock with AIO is related to the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
38 fact that FreeBSD supports asynchronous calls |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
39 <code>aio_read()</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
40 and |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
41 <code>aio_write()</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
42 when working with sockets. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
43 However, since nginx only uses AIO for disk I/O, no problems should arise. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
44 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
45 For AIO to work, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
46 <a href="#sendfile">sendfile</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
47 needs to be disabled: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
48 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
49 location /video/ { |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
50 sendfile off; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
51 aio on; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
52 output_buffers 1 64k; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
53 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
54 </pre></blockquote></p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
55 In addition, starting from FreeBSD 5.2.1 and nginx 0.8.12, AIO can |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
56 also be used to pre-load data for <code>sendfile()</code>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
57 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
58 location /video/ { |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
59 sendfile on; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
60 tcp_nopush on; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
61 aio sendfile; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
62 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
63 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
64 In this configuration, <code>sendfile()</code> is called with |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
65 the <code>SF_NODISKIO</code> flag which causes it not to |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
66 block on disk I/O and instead report back when the data are not in |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
67 memory; nginx then initiates an asynchronous data load by reading |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
68 one byte. The FreeBSD kernel then loads the first 128K bytes |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
69 of a file into memory, however next reads will only load data |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
70 in 16K chunks. This can be tuned using the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
71 <a href="#read_ahead">read_ahead</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
72 directive. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
73 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
74 On Linux, AIO is usable starting from kernel version 2.6.22; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
75 plus, it is also necessary to enable |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
76 <a href="#directio">directio</a>, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
77 otherwise reading will be blocking: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
78 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
79 location /video/ { |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
80 aio on; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
81 directio 512; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
82 output_buffers 1 128k; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
83 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
84 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
85 On Linux, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
86 <a href="#directio">directio</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
87 can only be used for reading blocks that are aligned on 512-byte |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
88 boundaries (or 4K for XFS). |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
89 Reading of unaligned file's end is still made in blocking mode. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
90 The same holds true for byte range requests, and for FLV requests |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
91 not from the beginning of a file: reading of unaligned data at the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
92 beginning and end of a file will be blocking. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
93 There is no need to turn off |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
94 <a href="#sendfile">sendfile</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
95 explicitly as it is turned off automatically when |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
96 <a href="#directio">directio</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
97 is used. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
98 </p><hr><a name="alias"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
99 <code>alias <code><i>path</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
100 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
101 <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
102 Defines a replacement for the specified location. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
103 For example, with the following configuration |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
104 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
105 location /i/ { |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
106 alias /data/w3/images/; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
107 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
108 </pre></blockquote> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
109 the request of |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
110 “<code>/i/top.gif</code>” will be responded |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
111 with the file |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
112 “<code>/data/w3/images/top.gif</code>”. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
113 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
114 The <code><i>path</i></code> value can contain variables. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
115 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
116 If <code>alias</code> is used inside a location defined |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
117 with a regular expression then such regular expression should |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
118 contain captures and <code>alias</code> should refer to |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
119 these captures (0.7.40), for example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
120 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
121 location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
122 alias /data/w3/images/$1; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
123 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
124 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
125 When location matches the last part of the directive's value: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
126 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
127 location /images/ { |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
128 alias /data/w3/images/; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
129 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
130 </pre></blockquote> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
131 it is better to use the |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
132 <a href="#root">root</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
133 directive instead: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
134 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
135 location /images/ { |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
136 root /data/w3; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
137 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
138 </pre></blockquote></p><hr><a name="client_body_in_file_only"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
139 <code>client_body_in_file_only |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
140 <code>on</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
141 <code>clean</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
142 <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
143 <code>client_body_in_file_only off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
144 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
145 Determines whether nginx should save the entire client request body |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
146 into a file. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
147 This directive can be used during debugging, or when using the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
148 <code>$request_body_file</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
149 variable, or the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
150 <a href="ngx_http_perl_module.html#methods">$r->request_body_file</a> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
151 method of the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
152 <a href="ngx_http_perl_module.html">http_perl</a> module. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
153 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
154 When set to the value <code>on</code>, temporary files are not |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
155 removed after request processing. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
156 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
157 The value <code>clean</code> will cause the temporary files |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
158 left after request processing to be removed. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
159 </p><hr><a name="client_body_in_single_buffer"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
160 <code>client_body_in_single_buffer <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
161 <code>client_body_in_single_buffer off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
162 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
163 Determines whether nginx should save the entire client request body |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
164 in a single buffer. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
165 The directive is recommended when using the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
166 <code>$request_body</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
167 variable, to save the number of copy operations involved. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
168 </p><hr><a name="client_body_buffer_size"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
169 <code>client_body_buffer_size <code><i>size</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
170 <code>client_body_buffer_size 8k/16k</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
171 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
172 Sets buffer size for reading client request body. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
173 In case request body is larger than the buffer, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
174 the whole body or only its part is written to a temporary file. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
175 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
176 By default, buffer size is equal to two memory pages. |
3996
fc808f006ff4
skeleton for documentation processing
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
177 This is 8K on x86, other 32-bit platforms, and x86-64. |
fc808f006ff4
skeleton for documentation processing
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
178 It is usually 16K on other 64-bit platforms. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
179 </p><hr><a name="client_body_temp_path"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
180 <code>client_body_temp_path |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
181 <code><i>path</i></code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
182 [<code><i>level1</i></code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
183 [<code><i>level2</i></code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
184 [<code><i>level3</i></code>]]] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
185 </code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
186 <code>client_body_temp_path client_body_temp</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
187 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
188 Defines a directory for storing temporary files holding client request bodies. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
189 Up to three-level subdirectory hierarchy can be used underneath the specified |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
190 directory. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
191 For example, in the following configuration |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
192 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
193 client_body_temp_path /spool/nginx/client_temp 1 2; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
194 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
195 a temporary file might look like this: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
196 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
197 /spool/nginx/client_temp/7/45/00000123457 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
198 </pre></blockquote></p><hr><a name="client_body_timeout"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
199 <code>client_body_timeout <code><i>time</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
200 <code>client_body_timeout 60</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
201 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
202 Defines a timeout for reading client request body. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
203 A timeout is only set between two successive read operations, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
204 not for the transmission of the whole request body. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
205 If a client does not transmit anything within this time, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
206 the error |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
207 <i>"Request time out"</i> (408) |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
208 is returned. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
209 </p><hr><a name="client_header_buffer_size"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
210 <code>client_header_buffer_size <code><i>size</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
211 <code>client_header_buffer_size 1k</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
212 <code>http</code>, <code>server</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
213 Sets buffer size for reading client request header. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
214 For most requests, a buffer of 1K bytes is enough. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
215 However, if a request includes long cookies, or comes from a WAP client, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
216 it may not fit into 1K. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
217 If a request line, or a request header field do not fit entirely into |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
218 this buffer then larger buffers are allocated, configured by the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
219 <a href="#large_client_header_buffers">large_client_header_buffers</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
220 directive. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
221 </p><hr><a name="client_header_timeout"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
222 <code>client_header_timeout <code><i>time</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
223 <code>client_header_timeout 60</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
224 <code>http</code>, <code>server</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
225 Defines a timeout for reading client request header. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
226 If a client does not transmit the entire header within this time, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
227 the error |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
228 <i>"Request time out"</i> (408) |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
229 is returned. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
230 </p><hr><a name="client_max_body_size"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
231 <code>client_max_body_size <code><i>size</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
232 <code>client_max_body_size 1m</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
233 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
234 Sets the maximum allowed size of the client request body, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
235 specified in the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
236 <code>Content-Length</code> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
237 request header field. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
238 If <code><i>size</i></code> is greater than the configured value, the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
239 <i>"Request Entity Too Large"</i> (413) |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
240 error is returned to a client. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
241 Please be aware that |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
242 <a href="/web/upload.html">browsers cannot correctly display |
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
243 this error</a>. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
244 </p><hr><a name="default_type"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
245 <code>default_type <code><i>mime-type</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
246 <code>default_type text/plain</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
247 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
248 Defines a default MIME-type of a response. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
249 </p><hr><a name="directio"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
250 <code>directio <code><i>size</i></code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
251 <code>directio off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
252 <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
253 0.7.7<p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
254 Enables the use of |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
255 the <code>O_DIRECT</code> flag (FreeBSD, Linux), |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
256 the <code>F_NOCACHE</code> flag (Mac OS X), |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
257 or the <code>directio()</code> function (Solaris), |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
258 when reading files that are larger than the specified <code><i>size</i></code>. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
259 It automatically disables (0.7.15) the use of |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
260 <a href="#sendfile">sendfile</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
261 for a given request. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
262 It could be useful for serving large files: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
263 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
264 directio 4m; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
265 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
266 or when using <a href="#aio">aio</a> on Linux. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
267 </p><hr><a name="directio_alignment"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
268 <code>directio_alignment <code><i>size</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
269 <code>directio_alignment 512</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
270 <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
271 0.8.11<p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
272 Sets an alignment for |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
273 <a href="#directio">directio</a>. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
274 In most cases, a 512-byte alignment is enough, however, when |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
275 using XFS under Linux, it needs to be increased to 4K. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
276 </p><hr><a name="error_page"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
277 <code>error_page |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
278 <code><i>code</i></code> ... |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
279 [<code>=</code>[<code><i>response</i></code>]] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
280 <code><i>uri</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
281 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
282 <code>http</code>, <code>server</code>, <code>location</code>, <code>if in location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
283 Defines the URI that will be shown for the specified errors. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
284 These directives are inherited from the previous level if and |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
285 only if there are no |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
286 <code>error_page</code> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
287 directives on |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
288 the current level. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
289 A URI value can contain variables. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
290 </p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
291 Example: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
292 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
293 error_page 404 /404.html; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
294 error_page 502 503 504 /50x.html; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
295 error_page 403 http://example.com/forbidden.html; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
296 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
297 Furthermore, it is possible to change the response code to another, for example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
298 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
299 error_page 404 =200 /empty.gif; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
300 </pre></blockquote></p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
301 If an error response is processed by a proxied server, or a FastCGI server, |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
302 and the server may return different response codes (e.g., 200, 302, 401 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
303 or 404), it is possible to respond with a returned code: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
304 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
305 error_page 404 = /404.php; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
306 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
307 If there is no need to change URI during redirection it is possible to redirect |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
308 error processing into a named location: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
309 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
310 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
311 error_page 404 = @fallback; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
312 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
313 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
314 location @fallback { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
315 proxy_pass http://backend; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
316 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
317 </pre></blockquote></p><hr><a name="if_modified_since"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
318 <code>if_modified_since |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
319 <code>off</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
320 <code>exact</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
321 <code>before</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
322 <code>if_modified_since exact</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
323 <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
324 0.7.24<p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
325 Specifies how to compare modification time of a response |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
326 with the time in the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
327 <code>If-Modified-Since</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
328 request header: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
329 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
330 <dl compact><dt><code>off</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
331 the |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
332 <code>If-Modified-Since</code> request header is ignored (0.7.34); |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
333 </dd><dt><code>exact</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
334 exact match; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
335 </dd><dt><code>before</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
336 modification time of a response is |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
337 less than or equal to the time in the <code>If-Modified-Since</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
338 request header. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
339 </dd></dl></p><hr><a name="internal"></a><strong>syntax</strong>: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
340 <code>internal</code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
341 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
342 <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
343 Specifies that a given location can only be used for internal requests. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
344 For external requests, the <i>"Not found"</i> (404) |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
345 error is returned. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
346 Internal requests are the following: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
347 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
348 <ul><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
349 requests redirected by the <a href="#error_page">error_page</a> directive; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
350 </li><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
351 subrequests formed by the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
352 <code>include virtual</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
353 command of the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
354 <a href="ngx_http_ssi_module.html">http_ssi</a> module; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
355 </li><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
356 requests changed by the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
357 <a href="ngx_http_rewrite_module.html#rewrite">rewrite</a> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
358 directive of the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
359 <a href="ngx_http_rewrite_module.html">http_rewrite</a> module. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
360 </li></ul></p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
361 Example: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
362 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
363 error_page 404 /404.html; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
364 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
365 location /404.html { |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
366 internal; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
367 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
368 </pre></blockquote></p><hr><a name="keepalive_requests"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
369 <code>keepalive_requests <code><i>number</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
370 <code>keepalive_requests 100</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
371 <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
372 0.8.0<p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
373 Sets the maximum number of requests that can be |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
374 made through one keep-alive connection. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
375 </p><hr><a name="keepalive_timeout"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
376 <code>keepalive_timeout |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
377 <code><i>time</i></code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
378 [<code><i>time</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
379 </code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
380 <code>keepalive_timeout 75</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
381 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
382 The first argument sets a timeout during which a keep-alive |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
383 client connection will stay open on the server side. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
384 The optional second argument sets a value in the |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
385 “<code>Keep-Alive: timeout=<code><i>time</i></code></code>” |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
386 response header. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
387 Two arguments may differ. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
388 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
389 The |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
390 “<code>Keep-Alive: timeout=</code>” |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
391 is understood by Mozilla and Konqueror. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
392 MSIE will close keep-alive connection in about 60 seconds. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
393 </p><hr><a name="large_client_header_buffers"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
394 <code>large_client_header_buffers <code><i>number size</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
395 <code>large_client_header_buffers 4 4k/8k</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
396 <code>http</code>, <code>server</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
397 Sets the maximum <code><i>number</i></code> and <code><i>size</i></code> of |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
398 buffers used when reading large client request headers. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
399 A request line cannot exceed the size of one buffer, or the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
400 <i>"Request URI too large"</i> (414) |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
401 error is returned. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
402 A request header field cannot exceed the size of one buffer as well, or the |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
403 <i>"Bad request"</i> (400) |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
404 error is returned. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
405 Buffers are allocated only on demand. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
406 By default, the buffer size is equal to one memory page size. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
407 It is either 4K or 8K, platform dependent. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
408 If after the end of request processing a connection is transitioned |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
409 into the keep-alive state, these buffers are freed. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
410 </p><hr><a name="limit_except"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
411 <code>limit_except <code><i>method</i></code> ... { ... }</code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
412 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
413 <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
414 Limits allowed HTTP methods inside a location. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
415 The GET method also implies the HEAD method. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
416 Access to other methods can be limited using the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
417 <a href="ngx_http_access_module.html">http_access</a> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
418 and |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
419 <a href="ngx_http_auth_basic_module.html">http_auth_basic</a> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
420 modules directives: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
421 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
422 limit_except GET { |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
423 allow 192.168.1.0/32; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
424 deny all; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
425 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
426 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
427 Please note that this will limit access to all methods |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
428 <strong>except</strong> GET and HEAD. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
429 </p><hr><a name="limit_rate"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
430 <code>limit_rate <code><i>rate</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
431 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
432 <code>http</code>, <code>server</code>, <code>location</code>, <code>if in location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
433 Rate limits the transmission of a response to a client. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
434 The <code><i>rate</i></code> is specified in bytes per second. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
435 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
436 The limit is per connection, so if a single client opens 2 connections, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
437 an overall rate will be 2x more than specified. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
438 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
439 This directive is not applicable if one wants to rate limit |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
440 a group of clients on the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
441 <a href="#server">server</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
442 level. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
443 If that is the case, the desired limit can be specified in the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
444 <code>$limit_rate</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
445 variable: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
446 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
447 server { |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
448 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
449 if ($slow) { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
450 set $limit_rate 4k; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
451 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
452 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
453 ... |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
454 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
455 </pre></blockquote></p><hr><a name="limit_rate_after"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
456 <code>limit_rate_after <code><i>size</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
457 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
458 <code>http</code>, <code>server</code>, <code>location</code>, <code>if in location</code><br><strong>appeared in version</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
459 0.8.0<p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
460 Sets the initial amount after which the further transmission |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
461 of a response to a client will be rate limited. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
462 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
463 Example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
464 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
465 location /flv/ { |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
466 flv; |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
467 limit_rate_after 500k; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
468 limit_rate 50k; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
469 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
470 </pre></blockquote></p><hr><a name="listen"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
471 <code>listen |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
472 <code><i>address</i></code>[:<code><i>port</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
473 [<code>default</code> | <code>default_server</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
474 [<code>backlog</code>=<code><i>number</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
475 [<code>rcvbuf</code>=<code><i>size</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
476 [<code>sndbuf</code>=<code><i>size</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
477 [<code>accept_filter</code>=<code><i>filter</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
478 [<code>deferred</code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
479 [<code>bind</code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
480 [<code>ipv6only</code>=<code>on</code>|<code>off</code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
481 [<code>ssl</code>]] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
482 </code><br><code> </code><code>listen |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
483 <code><i>port</i></code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
484 [<code>default</code> | <code>default_server</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
485 [<code>backlog</code>=<code><i>number</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
486 [<code>rcvbuf</code>=<code><i>size</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
487 [<code>sndbuf</code>=<code><i>size</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
488 [<code>accept_filter</code>=<code><i>filter</i></code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
489 [<code>deferred</code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
490 [<code>bind</code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
491 [<code>ipv6only</code>=<code>on</code>|<code>off</code>] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
492 [<code>ssl</code>]] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
493 </code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
494 <code>listen *:80 | *:8000</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
495 <code>server</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
496 Sets an <code><i>address</i></code> and a <code><i>port</i></code>, on which |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
497 the server will accept requests. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
498 Only one of <code><i>address</i></code> or <code><i>port</i></code> can be |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
499 specified. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
500 An <code><i>address</i></code> may also be a hostname, for example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
501 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
502 listen 127.0.0.1:8000; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
503 listen 127.0.0.1; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
504 listen 8000; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
505 listen *:8000; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
506 listen localhost:8000; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
507 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
508 IPv6 addresses (0.7.36) are specified in square brackets: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
509 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
510 listen [::]:8000; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
511 listen [fe80::1]; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
512 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
513 If only <code><i>address</i></code> is given, the port 80 is used. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
514 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
515 If directive is not present then either the <code>*:80</code> is used |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
516 if nginx runs with superuser privileges, or <code>*:8000</code> otherwise. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
517 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
518 The <code>default</code> parameter, if present, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
519 will cause the server to become the default server for the specified |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
520 <code><i>address</i></code>:<code><i>port</i></code> pair. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
521 If none of the directives have the <code>default</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
522 parameter then the first server with the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
523 <code><i>address</i></code>:<code><i>port</i></code> pair will be |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
524 the default server for this pair. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
525 Starting from version 0.8.21 it is possible to use the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
526 <code>default_server</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
527 parameter. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
528 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
529 A <code>listen</code> directive which has the <code>default</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
530 parameter can have several additional parameters specific to system calls |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
531 <code>listen()</code> and <code>bind()</code>. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
532 Starting from version 0.8.21, these parameters can be specified in any |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
533 <code>listen</code> directive, but only once for the given |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
534 <code><i>address</i></code>:<code><i>port</i></code> pair. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
535 <dl compact><dt><code>backlog</code>=<code><i>number</i></code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
536 sets the <code>backlog</code> parameter in the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
537 <code>listen()</code> call. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
538 By default, <code>backlog</code> equals -1 on FreeBSD |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
539 and 511 on other platforms. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
540 </dd><dt><code>rcvbuf</code>=<code><i>size</i></code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
541 sets the <code>SO_RCVBUF</code> parameter for the listening socket. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
542 </dd><dt><code>sndbuf</code>=<code><i>size</i></code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
543 sets the <code>SO_SNDBUF</code> parameter for the listening socket. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
544 </dd><dt><code>accept_filter</code>=<code><i>filter</i></code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
545 sets the name of the accept filter. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
546 This works only on FreeBSD, acceptable values are <code>dataready</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
547 and <code>httpready</code>. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
548 On receipt of the <code>SIGHUP</code> signal, an accept filter can only be |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
549 changed in recent versions of FreeBSD, starting from 6.0, 5.4-STABLE |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
550 and 4.11-STABLE. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
551 </dd><dt><code>deferred</code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
552 instructs to use a deferred <code>accept()</code> on Linux |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
553 using the <code>TCP_DEFER_ACCEPT</code> option. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
554 </dd><dt><code>bind</code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
555 specifies to make a separate <code>bind()</code> call for a given |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
556 <code><i>address</i></code>:<code><i>port</i></code> pair. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
557 This is because nginx will only <code>bind()</code> to |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
558 <code>*</code>:<code><i>port</i></code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
559 if there are several <code>listen</code> directives with |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
560 the same port but different addresses, and one of the |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
561 <code>listen</code> directives listens on all addresses |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
562 for the given port (<code>*</code>:<code><i>port</i></code>). |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
563 It should be noted that in this case a <code>getsockname()</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
564 system call will be made to determine an address that accepted a |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
565 connection. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
566 If parameters <code>backlog</code>, <code>rcvbuf</code>, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
567 <code>sndbuf</code>, <code>accept_filter</code>, or |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
568 <code>deferred</code> are used then for a given |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
569 <code><i>address</i></code>:<code><i>port</i></code> pair |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
570 a separate <code>bind()</code> call will always be made. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
571 </dd><dt><code>ipv6only</code>=<code>on</code>|<code>off</code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
572 this parameter (0.7.42) sets the value of the <code>IPV6_V6ONLY</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
573 parameter for the listening socket. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
574 This parameter can only be set once on start. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
575 </dd><dt><code>ssl</code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
576 this parameter (0.7.14) does not relate to system calls |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
577 <code>listen()</code> and <code>bind()</code>, but allows to |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
578 specify that all connections accepted on this port should work in |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
579 the SSL mode. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
580 This allows for a more compact configuration for the server operating |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
581 in both HTTP and HTTPS modes simultaneously. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
582 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
583 listen 80; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
584 listen 443 default ssl; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
585 </pre></blockquote></dd></dl></p><p> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
586 Example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
587 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
588 listen 127.0.0.1 default accept_filter=dataready backlog=1024; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
589 </pre></blockquote></p><hr><a name="location"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
590 <code>location [ |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
591 <code>=</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
592 <code>~</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
593 <code>~*</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
594 <code>^~</code> | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
595 <code>@</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
596 ] <code><i>uri</i></code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
597 { ... }</code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
598 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
599 <code>server</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
600 Sets a configuration based on a request URI. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
601 A location can either be defined by a prefix string, or by a regular expression. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
602 Regular expressions are specified by prepending them with the |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
603 “<code>~*</code>” prefix (for case-insensitive matching), or with the |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
604 “<code>~</code>” prefix (for case-sensitive matching). |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
605 To find a location matching a given request, nginx first checks |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
606 locations defined using the prefix strings (prefix locations). |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
607 Amongst them, the most specific one is searched. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
608 Then regular expressions are checked, in the order of their appearance |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
609 in a configuration file. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
610 A search terminates on the first match, and its corresponding |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
611 configuration is used. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
612 If no match with a regular expression location is found then a |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
613 configuration of the most specific prefix location is used. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
614 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
615 For case-insensitive operating systems such as Mac OS X and Cygwin, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
616 the string matching ignores a case (0.7.7). |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
617 However, comparison is limited to one-byte locales. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
618 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
619 Regular expressions can contain captures (0.7.40) that can later |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
620 be used in other directives. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
621 </p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
622 If the most specific prefix location has the “<code>^~</code>” prefix |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
623 then regular expressions are not checked. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
624 </p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
625 Also, using the “<code>=</code>” prefix it is possible to define |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
626 an exact match of URI and location. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
627 If an exact match is found, the search terminates. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
628 For example, if a “<code>/</code>” request happens frequently, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
629 defining “<code>location = /</code>” will speed up the processing |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
630 of these requests, as search terminates right after the first |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
631 comparison. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
632 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
633 In versions from 0.7.1 to 0.8.41, if a request matched the prefix |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
634 location without the “<code>=</code>” and “<code>^~</code>” |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
635 prefixes, the search also terminated and regular expressions were |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
636 not checked. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
637 </p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
638 Let's illustrate the above by example: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
639 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
640 location = / { |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
641 [ configuration A ] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
642 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
643 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
644 location / { |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
645 [ configuration B ] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
646 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
647 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
648 location ^~ /images/ { |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
649 [ configuration C ] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
650 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
651 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
652 location ~* \.(gif|jpg|jpeg)$ { |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
653 [ configuration D ] |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
654 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
655 </pre></blockquote> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
656 The “<code>/</code>” request will match configuration A, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
657 the “<code>/documents/document.html</code>” request will match |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
658 configuration B, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
659 the “<code>/images/1.gif</code>” request will match configuration C, and |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
660 the “<code>/documents/1.jpg</code>” request will match configuration D. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
661 </p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
662 The “<code>@</code>” prefix defines a named location. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
663 Such a location is not used for a regular request processing, but instead |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
664 used for request redirection. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
665 </p><hr><a name="log_not_found"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
666 <code>log_not_found <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
667 <code>log_not_found on</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
668 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
669 Enables or disables logging of errors about not found files into the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
670 <a href="../ngx_core_module.html#error_log">error_log</a>. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
671 </p><hr><a name="log_subrequest"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
672 <code>log_subrequest <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
673 <code>log_subrequest off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
674 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
675 Enables or disables logging of subrequests into the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
676 <a href="ngx_http_log_module.html#access_log">access_log</a>. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
677 </p><hr><a name="merge_slashes"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
678 <code>merge_slashes <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
679 <code>merge_slashes on</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
680 <code>http</code>, <code>server</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
681 Enables or disables compression of two or more adjacent slashes |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
682 in a URI into a single slash. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
683 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
684 Note that compression is essential for the correct prefix string |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
685 and regular expressions location matching. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
686 Without it, the “<code>//scripts/one.php</code>” request would not match |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
687 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
688 location /scripts/ { |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
689 ... |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
690 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
691 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
692 and might be processed as a static file, |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
693 so it gets converted to “<code>/scripts/one.php</code>”. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
694 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
695 Turning the compression <code>off</code> can become necessary if a URI |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
696 contains base64-encoded names, since base64 uses the "/" character internally. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
697 However, for security considerations, it is better to avoid turning off |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
698 the compression. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
699 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
700 If a directive is specified on the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
701 <a href="#server">server</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
702 level, which is also a default server, its value will cover |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
703 all virtual servers listening on the same address and port. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
704 </p><hr><a name="msie_padding"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
705 <code>msie_padding <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
706 <code>msie_padding on</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
707 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
708 Enables or disables adding of comments to responses with status |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
709 greater than 400 for MSIE clients, to pad the response size to 512 bytes. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
710 </p><hr><a name="msie_refresh"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
711 <code>msie_refresh <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
712 <code>msie_refresh off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
713 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
714 Enables or disables issuing refreshes instead of redirects, for MSIE clients. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
715 </p><hr><a name="open_file_cache"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
716 <code>open_file_cache |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
717 <code>max</code>=<code><i>N</i></code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
718 [<code>inactive</code>=<code><i>time</i></code>] | |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
719 <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
720 <code>open_file_cache off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
721 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
722 Configures a cache that can store: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
723 <ul><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
724 open file descriptors, their sizes and modification times; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
725 </li><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
726 directory lookups; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
727 </li><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
728 file lookup errors, such as "file not found", "no read permission", |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
729 and so on. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
730 Caching of errors should be enabled separately by the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
731 <a href="#open_file_cache_errors">open_file_cache_errors</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
732 directive. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
733 </li></ul></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
734 The directive has the following parameters: |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
735 <dl compact><dt><code>max</code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
736 sets the maximum number of elements in the cache; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
737 on cache overflow the least recently used (LRU) elements get removed; |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
738 </dd><dt><code>inactive</code></dt><dd> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
739 defines a time, after which the element gets removed from the cache |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
740 if there were no accesses to it during this time; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
741 by default, it is 60 seconds; |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
742 </dd><dt><code>off</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
743 disables the cache. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
744 </dd></dl></p><p> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
745 Example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
746 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
747 open_file_cache max=1000 inactive=20s; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
748 open_file_cache_valid 30s; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
749 open_file_cache_min_uses 2; |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
750 open_file_cache_errors on; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
751 </pre></blockquote></p><hr><a name="open_file_cache_errors"></a><strong>syntax</strong>: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
752 <code>open_file_cache_errors <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
753 <code>open_file_cache_errors off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
754 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
755 Enables or disables caching of file lookup errors by the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
756 <a href="#open_file_cache">open_file_cache</a>. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
757 </p><hr><a name="open_file_cache_min_uses"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
758 <code>open_file_cache_min_uses <code><i>number</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
759 <code>open_file_cache_min_uses 1</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
760 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
761 Sets the minimum <code><i>number</i></code> of file accesses during |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
762 the period configured by the <code>inactive</code> parameter |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
763 of the <a href="#open_file_cache">open_file_cache</a> directive, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
764 after which a file descriptor will remain open in the cache. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
765 </p><hr><a name="open_file_cache_valid"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
766 <code>open_file_cache_valid <code><i>time</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
767 <code>open_file_cache_valid 60</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
768 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
769 Sets a time after which |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
770 <a href="#open_file_cache">open_file_cache</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
771 elements should be validated. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
772 </p><hr><a name="optimize_server_names"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
773 <code>optimize_server_names <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
774 <code>optimize_server_names on</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
775 <code>http</code>, <code>server</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
776 This directive is obsolete. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
777 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
778 Enables or disables optimization of hostname checking in name-based |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
779 virtual servers. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
780 In particular, the checking affects hostnames used in redirects. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
781 If optimization is enabled, and all name-based servers listening on |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
782 the same address:port pair have identical configuration, then |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
783 names are not checked during request processing, and the first |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
784 server name is used in redirects. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
785 In case redirects should use hostnames sent by clients, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
786 optimization needs to be disabled. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
787 </p><hr><a name="port_in_redirect"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
788 <code>port_in_redirect <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
789 <code>port_in_redirect on</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
790 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
791 Enables or disables specifying the port in redirects issued by nginx. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
792 </p><hr><a name="read_ahead"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
793 <code>read_ahead <code><i>size</i></code></code><br><strong>default</strong>: |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
794 <code>read_ahead 0</code><br><strong>context</strong>: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
795 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
796 Sets the amount of pre-reading when working with files, in the kernel. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
797 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
798 On Linux, the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
799 <code>posix_fadvise(0, 0, 0, POSIX_FADV_SEQUENTIAL)</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
800 system call is used, so the <code><i>size</i></code> argument is ignored. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
801 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
802 On FreeBSD, the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
803 <code>fcntl(O_READAHEAD,</code><code><i>size</i></code><code>)</code> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
804 system call is used, supported in FreeBSD 9.0-CURRENT. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
805 FreeBSD 7 needs to be |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
806 <a href="http://sysoev.ru/freebsd/patch.readahead.txt">patched</a>. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
807 </p><hr><a name="recursive_error_pages"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
808 <code>recursive_error_pages <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
809 <code>recursive_error_pages off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
810 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
811 Enables or disables doing several redirects using the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
812 <a href="#error_page">error_page</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
813 directive. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
814 </p><hr><a name="reset_timedout_connection"></a><strong>syntax</strong>: |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
815 <code>reset_timedout_connection |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
816 <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
817 <code>reset_timedout_connection off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
818 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
819 Enables or disables resetting of timed out connections. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
820 The reset is performed as follows: before closing a socket, the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
821 <code>SO_LINGER</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
822 option is set on it with a timeout value of 0. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
823 When the socket is closed, a client is sent TCP RST, and all memory |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
824 occupied by this socket is freed. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
825 This avoids keeping of an already closed socket with filled buffers |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
826 for a long time, in a FIN_WAIT1 state. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
827 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
828 It should be noted that timed out keep-alive connections are still |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
829 closed normally. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
830 </p><hr><a name="resolver"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
831 <code>resolver <code><i>address</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
832 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
833 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
834 Sets the <code><i>address</i></code> of a name server, for example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
835 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
836 resolver 127.0.0.1; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
837 </pre></blockquote></p><hr><a name="resolver_timeout"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
838 <code>resolver_timeout <code><i>time</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
839 <code>resolver_timeout 30s</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
840 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
841 Sets a timeout for name resolution, for example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
842 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
843 resolver_timeout 5s; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
844 </pre></blockquote></p><hr><a name="root"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
845 <code>root <code><i>path</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
846 <code>root html</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
847 <code>http</code>, <code>server</code>, <code>location</code>, <code>if in location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
848 Sets the root directory for requests. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
849 For example, with the following configuration |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
850 <blockquote><pre> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
851 location /i/ { |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
852 root /data/w3; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
853 } |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
854 </pre></blockquote>“<code>/i/top.gif</code>” will be responded |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
855 with the file |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
856 “<code>/data/w3/i/top.gif</code>”. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
857 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
858 The <code><i>path</i></code> value can contain variables. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
859 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
860 A path to the file is constructed by merely adding a URI to the value |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
861 of the <code>root</code> directive. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
862 If a URI need to be modified, the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
863 <a href="#alias">alias</a> directive should be used. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
864 </p><hr><a name="satisfy"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
865 <code>satisfy <code>all</code> | <code>any</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
866 <code>satisfy all</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
867 <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
868 Allows access if any of the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
869 <a href="ngx_http_access_module.html">http_access</a> |
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
870 or <a href="ngx_http_auth_basic_module.html">http_auth_basic</a> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
871 modules grant access. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
872 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
873 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
874 satisfy any; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
875 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
876 allow 192.168.1.0/32; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
877 deny all; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
878 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
879 auth_basic "closed site"; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
880 auth_basic_user_file conf/htpasswd; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
881 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
882 </pre></blockquote></p><hr><a name="satisfy_any"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
883 <code>satisfy_any <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
884 <code>satisfy_any off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
885 <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
886 This directive was renamed to the <a href="#satisfy">satisfy</a> directive. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
887 </p><hr><a name="send_timeout"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
888 <code>send_timeout <code><i>time</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
889 <code>send_timeout 60</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
890 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
891 Sets a timeout for transmitting a response to the client. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
892 A timeout is only set between two successive write operations, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
893 not for the transmission of the whole response. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
894 If a client does not receive anything within this time, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
895 a connection is closed. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
896 </p><hr><a name="sendfile"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
897 <code>sendfile <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
898 <code>sendfile off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
899 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
900 Enables or disables the use of |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
901 <code>sendfile()</code>. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
902 </p><hr><a name="server"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
903 <code>server { ... }</code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
904 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
905 <code>http</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
906 Sets a configuration for the virtual server. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
907 There is no clean separation between IP-based (based on the IP address) |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
908 and name-based (based on the <code>Host</code> request header field) |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
909 virtual servers. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
910 Instead, the <a href="#listen">listen</a> directives describe all |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
911 addresses and ports that should accept connections for a server, and the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
912 <a href="#server_name">server_name</a> directive lists all server names. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
913 An example configuration is provided in the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
914 <a href="../virtual_hosts.html"> |
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
915 Setting Up Virtual Servers</a> document. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
916 </p><hr><a name="server_name"></a><strong>syntax</strong>: |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
917 <code>server_name <code><i>name</i></code> ...</code><br><strong>default</strong>: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
918 <code>server_name hostname</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
919 <code>server</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
920 Sets names of the virtual server, for example: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
921 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
922 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
923 server_name example.com www.example.com; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
924 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
925 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
926 The first name becomes a primary server name. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
927 By default, the machine's hostname is used. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
928 Server names can include an asterisk (“<code>*</code>”) |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
929 to replace the first or last part of a name: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
930 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
931 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
932 server_name example.com *.example.com www.example.*; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
933 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
934 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
935 The first two of the above mentioned names can be combined: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
936 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
937 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
938 server_name .example.com; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
939 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
940 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
941 It is also possible to use regular expressions in server names, |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
942 prepending the name with a tilde (“<code>~</code>”): |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
943 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
944 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
945 server_name www.example.com ~^www\d+\.example\.com$; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
946 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
947 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
948 Regular expressions can contain captures (0.7.40) that can later |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
949 be used in other directives: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
950 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
951 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
952 server_name ~^(www\.)?(.+)$; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
953 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
954 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
955 root /sites/$2; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
956 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
957 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
958 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
959 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
960 server_name _; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
961 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
962 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
963 root /sites/default; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
964 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
965 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
966 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
967 Starting from version 0.8.25, named captures in regular expressions create |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
968 variables that can later be used in other directives: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
969 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
970 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
971 server_name ~^(www\.)?(?<domain>.+)$; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
972 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
973 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
974 root /sites/$domain; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
975 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
976 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
977 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
978 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
979 server_name _; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
980 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
981 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
982 root /sites/default; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
983 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
984 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
985 </pre></blockquote></p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
986 Starting from version 0.7.11, it is possible to specify an empty name: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
987 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
988 server { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
989 server_name www.example.com ""; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
990 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
991 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
992 It allows this server to process requests without the <code>Host</code> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
993 header, instead of the default server for the given address:port pair. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
994 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
995 The name checking order is as follows: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
996 <ol><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
997 full names |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
998 </li><li> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
999 names with the prefix mask, e.g. “<code>*.example.com</code>”</li><li> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1000 names with the suffix mask, e.g. “<code>mail.*</code>”</li><li> |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1001 regular expressions |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1002 </li></ol></p><hr><a name="server_name_in_redirect"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1003 <code>server_name_in_redirect <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1004 <code>server_name_in_redirect on</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1005 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1006 Enables or disables the use of the primary server name, specified by the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1007 <a href="#server_name">server_name</a> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1008 directive, in redirects issued by nginx. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1009 When disabled, the name from the <code>Host</code> request header field |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1010 is used. |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1011 If this field is not present, an IP address of the server is used. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1012 </p><hr><a name="server_names_hash_max_size"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1013 <code>server_names_hash_max_size <code><i>size</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1014 <code>server_names_hash_max_size 512</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1015 <code>http</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1016 Sets the maximum <code><i>size</i></code> of the server names hash tables. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1017 For more information, please refer to |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
1018 <a href="../hash.html">Setting Up Hashes</a>. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1019 </p><hr><a name="server_names_hash_bucket_size"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1020 <code>server_names_hash_bucket_size <code><i>size</i></code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1021 <code>server_names_hash_bucket_size 32/64/128</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1022 <code>http</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1023 Sets the bucket size for the server names hash tables. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1024 Default value depends on the size of the processor's cache line. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1025 For more information, please refer to |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
1026 <a href="../hash.html">Setting Up Hashes</a>. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1027 </p><hr><a name="server_tokens"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1028 <code>server_tokens <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1029 <code>server_tokens on</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1030 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1031 Enables or disables emitting of nginx version in error messages and in the |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1032 <code>Server</code> response header field. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1033 </p><hr><a name="tcp_nodelay"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1034 <code>tcp_nodelay <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1035 <code>tcp_nodelay on</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1036 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1037 Enables or disables the use of the <code>TCP_NODELAY</code> option. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1038 The option is enabled only when a connection is transitioned into the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1039 keep-alive state. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1040 </p><hr><a name="tcp_nopush"></a><strong>syntax</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1041 <code>tcp_nopush <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1042 <code>tcp_nopush off</code><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1043 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1044 Enables or disables the use of |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1045 the <code>TCP_NOPUSH</code> socket option on FreeBSD |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1046 or the <code>TCP_CORK</code> socket option on Linux. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1047 Opitons are enables only when <a href="#sendfile">sendfile</a> is used. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1048 Enabling the option allows to |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1049 <ul><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1050 send the response header and the beginning of a file in one packet, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1051 on Linux and FreeBSD 4.*; |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1052 </li><li> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1053 send a file in full packets. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1054 </li></ul></p><hr><a name="try_files"></a><strong>syntax</strong>: |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1055 <code>try_files |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1056 <code><i>file</i></code> ... |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1057 <code><i>uri</i></code></code><br><code> </code><code>try_files |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1058 <code><i>file</i></code> ... |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1059 =<code><i>code</i></code></code><br><strong>default</strong>: |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1060 <strong>none</strong><br><strong>context</strong>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1061 <code>location</code><br><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1062 Checks the existence of files in the specified order, and uses |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1063 the first found file for request processing; the processing |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1064 is performed in this location's context. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1065 It is possible to check the directory existence by specifying |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1066 the slash at the end of a name, e.g. “<code>$uri/</code>”. |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1067 If none of the files were found, an internal redirect to the |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1068 <code><i>uri</i></code> specified by the last argument is made. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1069 As of version 0.7.51, the last argument can also be a |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1070 <code><i>code</i></code>: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1071 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1072 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1073 try_files $uri $uri/index.html $uri.html =404; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1074 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1075 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1076 Example when proxying Mongrel: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1077 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1078 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1079 try_files /system/maintenance.html |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1080 $uri $uri/index.html $uri.html |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1081 @mongrel; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1082 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1083 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1084 location @mongrel { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1085 proxy_pass http://mongrel; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1086 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1087 </pre></blockquote></p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1088 Example for Drupal/FastCGI: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1089 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1090 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1091 try_files $uri $uri/ @drupal; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1092 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1093 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1094 location ~ \.php$ { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1095 try_files $uri @drupal; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1096 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1097 fastcgi_pass ...; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1098 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1099 fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1100 fastcgi_param SCRIPT_NAME $fastcgi_script_name; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1101 fastcgi_param QUERY_STRING $args; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1102 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1103 ... other fastcgi_param's |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1104 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1105 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1106 location @drupal { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1107 fastcgi_pass ...; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1108 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1109 fastcgi_param SCRIPT_FILENAME /path/to/index.php; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1110 fastcgi_param SCRIPT_NAME /index.php; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1111 fastcgi_param QUERY_STRING q=$uri&$args; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1112 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1113 ... other fastcgi_param's |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1114 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1115 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1116 In the following example, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1117 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1118 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1119 try_files $uri $uri/ @drupal; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1120 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1121 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1122 the <code>try_files</code> directive is equivalent to |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1123 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1124 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1125 error_page 404 = @drupal; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1126 log_not_found off; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1127 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1128 </pre></blockquote> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1129 And here, |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1130 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1131 location ~ \.php$ { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1132 try_files $uri @drupal; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1133 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1134 fastcgi_pass ...; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1135 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1136 fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1137 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1138 ... |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1139 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1140 </pre></blockquote><code>try_files</code> checks the existence of the PHP file |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1141 before passing the request to the FastCGI server. |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1142 </p><p> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1143 Example for Wordpress and Joomla: |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1144 <blockquote><pre> |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1145 location / { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1146 try_files $uri $uri/ @wordpress; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1147 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1148 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1149 location ~ \.php$ { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1150 try_files $uri @wordpress; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1151 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1152 fastcgi_pass ...; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1153 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1154 fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1155 ... other fastcgi_param's |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1156 } |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1157 |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1158 location @wordpress { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1159 fastcgi_pass ...; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1160 |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1161 fastcgi_param SCRIPT_FILENAME /path/to/index.php; |
4069
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1162 ... other fastcgi_param's |
4dbdfd985863
Regenerate HTML for the previous revision.
Ruslan Ermilov <ru@nginx.com>
parents:
3996
diff
changeset
|
1163 } |
4071
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1164 </pre></blockquote></p><hr><a name="types"></a><strong>syntax</strong>: |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1165 <code>types { ... }</code><br><strong>default</strong>: |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1166 <code>see below</code><br><strong>context</strong>: |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1167 <code>http</code>, <code>server</code>, <code>location</code><br><p> |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1168 Maps file name extensions to MIME types of responses. |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1169 Several extensions can map to one type. |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1170 The following mappings are configured by default: |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1171 <blockquote><pre> |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1172 types { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1173 text/html html; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1174 image/gif gif; |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1175 image/jpeg jpg; |
4071
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1176 } |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1177 </pre></blockquote></p><p> |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1178 A sufficiently full mapping table is distributed with nginx in the |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1179 <code>conf/mime.types</code> file. |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1180 </p><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1181 To make a particular location emit the |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1182 “<code>application/octet-stream</code>” |
4071
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1183 MIME type for all requests, try the following: |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1184 <blockquote><pre> |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1185 location /download/ { |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1186 types { } |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1187 default_type application/octet-stream; |
4071
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1188 } |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1189 </pre></blockquote></p><hr><a name="underscores_in_headers"></a><strong>syntax</strong>: |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1190 <code>underscores_in_headers <code>on</code> | <code>off</code></code><br><strong>default</strong>: |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1191 <code>underscores_in_headers off</code><br><strong>context</strong>: |
cf09c4826ab3
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4069
diff
changeset
|
1192 <code>http</code>, <code>server</code><br><p> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1193 Enables or disables the use of underscores in client request header fields. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1194 </p><a name="variables"></a><center><h4>Embedded Variables</h4></center><p> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1195 The http_core module supports embedded variables with names matching |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1196 those of the Apache Server. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1197 First of all, these are variables representing client request header |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1198 fields, such as, <code>$http_user_agent</code>, <code>$http_cookie</code>, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1199 and so on. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1200 It also supports other variables: |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1201 <dl compact><dt><code>$args</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1202 arguments in the request line |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1203 </dd><dt><code>$arg_</code><code><i>name</i></code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1204 argument <code><i>name</i></code> in the request line |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1205 </dd><dt><code>$binary_remote_addr</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1206 client address in a binary form, value's length is always 4 bytes |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1207 </dd><dt><code>$content_length</code></dt><dd><code>Content-Length</code> request header field |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1208 </dd><dt><code>$content_type</code></dt><dd><code>Content-Type</code> request header field |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1209 </dd><dt><code>$cookie_</code><code><i>name</i></code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1210 the <code><i>name</i></code> cookie |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1211 </dd><dt><code>$document_root</code></dt><dd><a href="#root">root</a> directive's value for the current request |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1212 </dd><dt><code>$document_uri</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1213 same as <code>$uri</code></dd><dt><code>$host</code></dt><dd><code>Host</code> request header field, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1214 or the server name matching a request if this field is not present |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1215 </dd><dt><code>$hostname</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1216 host name |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1217 </dd><dt><code>$http_</code><code><i>name</i></code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1218 the <code><i>name</i></code> request header field |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1219 </dd><dt><code>$is_args</code></dt><dd>“<code>?</code>” if a request line has arguments, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1220 or an empty string otherwise |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1221 </dd><dt><code>$limit_rate</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1222 allows for connection rate limiting |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1223 </dd><dt><code>$pid</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1224 PID of the worker process |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1225 </dd><dt><code>$request_method</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1226 request method, usually |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1227 “<code>GET</code>” or “<code>POST</code>”</dd><dt><code>$remote_addr</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1228 client address |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1229 </dd><dt><code>$remote_port</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1230 client port |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1231 </dd><dt><code>$remote_user</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1232 user name supplied with the Basic authentication |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1233 </dd><dt><code>$realpath_root</code></dt><dd><a href="#root">root</a> directive's value |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1234 for the current request, with all symbolic links resolved to real paths |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1235 </dd><dt><code>$request_filename</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1236 file path for the current query, based on the |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1237 <a href="#root">root</a> and <a href="#alias">alias</a> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1238 directives, and the request URI |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1239 </dd><dt><code>$request_body</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1240 request body |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1241 <p> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1242 The variable's value is made available in locations |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1243 processed by the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
1244 <a href="ngx_http_proxy_module.html#proxy_pass">proxy_pass</a> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1245 and |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
1246 <a href="ngx_http_fastcgi_module.html#fastcgi_pass">fastcgi_pass</a> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1247 directives. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1248 </p></dd><dt><code>$request_body_file</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1249 name of a temporary file with the request body |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1250 <p> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1251 At the end of processing, the file needs to be removed. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1252 To always write a request body to a file, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1253 <a href="#client_body_in_file_only">client_body_in_file_only on</a> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1254 needs be specified. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1255 When passing the name of a temporary file in a proxied request, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1256 or in a request to a FastCGI server, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1257 passing of the request body should be disabled by the |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
1258 <a href="ngx_http_proxy_module.html#proxy_pass_request_body">proxy_pass_request_body</a> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1259 and |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
1260 <a href="ngx_http_fastcgi_module.html#fastcgi_pass_request_body">fastcgi_pass_request_body</a> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1261 directives, respectively. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1262 </p></dd><dt><code>$request_uri</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1263 full original request URI (with arguments) |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1264 </dd><dt><code>$query_string</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1265 same as <code>$args</code></dd><dt><code>$scheme</code></dt><dd> |
4084
b7c944d1a5a8
Regenerate after previous commits.
Ruslan Ermilov <ru@nginx.com>
parents:
4080
diff
changeset
|
1266 request scheme, “<code>http</code>” or “<code>https</code>”</dd><dt><code>$server_protocol</code></dt><dd> |
4080
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1267 request protocol, usually |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1268 “<code>HTTP/1.0</code>” |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1269 or |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1270 “<code>HTTP/1.1</code>”</dd><dt><code>$server_addr</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1271 an address of the server which accepted a request |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1272 <p> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1273 Computing a value of this variable usually requires one system call. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1274 To avoid a system call, the <code>listen</code> directives |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1275 must specify addresses and use the <code>bind</code> parameter |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1276 </p></dd><dt><code>$server_name</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1277 name of the server which accepted a request |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1278 </dd><dt><code>$server_port</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1279 port of the server which accepted a request |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1280 </dd><dt><code>$uri</code></dt><dd> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1281 current URI in request |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1282 <p> |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1283 It may differ from an original, e.g. when doing internal redirects, |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1284 or when using index files. |
a1e1b348bfaf
Regenerate after previous commit.
Ruslan Ermilov <ru@nginx.com>
parents:
4071
diff
changeset
|
1285 </p></dd></dl></p></body></html> |