annotate xml/en/docs/stream/ngx_stream_core_module.xml @ 2724:00afc7c4d4df

Documented listen options that imply "bind".
author Ruslan Ermilov <ru@nginx.com>
date Thu, 20 May 2021 19:56:08 +0300
parents c8f0f30e1513
children 6d082b470918
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1 <?xml version="1.0"?>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
3 <!--
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
4 Copyright (C) Nginx, Inc.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
5 -->
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
6
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
8
1405
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
9 <module name="Module ngx_stream_core_module"
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
10 link="/en/docs/stream/ngx_stream_core_module.html"
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
11 lang="en"
2724
00afc7c4d4df Documented listen options that imply "bind".
Ruslan Ermilov <ru@nginx.com>
parents: 2471
diff changeset
12 rev="33">
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
13
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
14 <section id="summary">
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
15
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
16 <para>
1462
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
17 The <literal>ngx_stream_core_module</literal> module
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
18 is available since version 1.9.0.
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
19 This module is not built by default, it should be enabled with the
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
20 <literal>--with-stream</literal>
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
21 configuration parameter.
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
22 </para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
23
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
24 </section>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
25
1394
66f227952864 Somewhat revamped the stream module documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 1367
diff changeset
26
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
27 <section id="example" name="Example Configuration">
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
28
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
29 <para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
30 <example>
1405
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
31 worker_processes auto;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
32
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
33 error_log /var/log/nginx/error.log info;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
34
1528
3ae5301ea37a Added the "events" section to examples of stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1507
diff changeset
35 events {
3ae5301ea37a Added the "events" section to examples of stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1507
diff changeset
36 worker_connections 1024;
3ae5301ea37a Added the "events" section to examples of stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1507
diff changeset
37 }
3ae5301ea37a Added the "events" section to examples of stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1507
diff changeset
38
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
39 stream {
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
40 upstream backend {
1405
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
41 hash $remote_addr consistent;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
42
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
43 server backend1.example.com:12345 weight=5;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
44 server 127.0.0.1:12345 max_fails=3 fail_timeout=30s;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
45 server unix:/tmp/backend3;
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
46 }
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
47
1662
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
48 upstream dns {
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
49 server 192.168.0.1:53535;
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
50 server dns.example.com:53;
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
51 }
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
52
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
53 server {
1405
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
54 listen 12345;
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
55 proxy_connect_timeout 1s;
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
56 proxy_timeout 3s;
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
57 proxy_pass backend;
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
58 }
1405
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
59
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
60 server {
2179
962e1adfa032 Documented UDP streams.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2125
diff changeset
61 listen 127.0.0.1:53 udp reuseport;
1662
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
62 proxy_timeout 20s;
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
63 proxy_pass dns;
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
64 }
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
65
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
66 server {
1405
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
67 listen [::1]:12345;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
68 proxy_pass unix:/tmp/stream.socket;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
69 }
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
70 }
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
71 </example>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
72 </para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
73
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
74 </section>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
75
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
76
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
77 <section id="directives" name="Directives">
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
78
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
79 <directive name="listen">
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
80 <syntax>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
81 <value>address</value>:<value>port</value>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
82 [<literal>ssl</literal>]
1662
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
83 [<literal>udp</literal>]
1778
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
84 [<literal>proxy_protocol</literal>]
1502
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
85 [<literal>backlog</literal>=<value>number</value>]
1963
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
86 [<literal>rcvbuf</literal>=<value>size</value>]
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
87 [<literal>sndbuf</literal>=<value>size</value>]
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
88 [<literal>bind</literal>]
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
89 [<literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>]
1493
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
90 [<literal>reuseport</literal>]
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
91 [<literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]]</syntax>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
92 <default/>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
93 <context>server</context>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
94
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
95 <para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
96 Sets the <value>address</value> and <value>port</value> for the socket
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
97 on which the server will accept connections.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
98 It is possible to specify just the port.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
99 The address can also be a hostname, for example:
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
100 <example>
1405
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
101 listen 127.0.0.1:12345;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
102 listen *:12345;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
103 listen 12345; # same as *:12345
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
104 listen localhost:12345;
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
105 </example>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
106 IPv6 addresses are specified in square brackets:
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
107 <example>
1405
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
108 listen [::1]:12345;
4569719f4247 Split stream module into stream_core and stream_proxy modules.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1394
diff changeset
109 listen [::]:12345;
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
110 </example>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
111 UNIX-domain sockets are specified with the “<literal>unix:</literal>”
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
112 prefix:
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
113 <example>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
114 listen unix:/var/run/nginx.sock;
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
115 </example>
2349
0eabe2f4d365 Documented listen port ranges for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2199
diff changeset
116 </para>
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
117
2349
0eabe2f4d365 Documented listen port ranges for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2199
diff changeset
118 <para id="listen_port_range">
0eabe2f4d365 Documented listen port ranges for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2199
diff changeset
119 Port ranges (1.15.10) are specified with the
0eabe2f4d365 Documented listen port ranges for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2199
diff changeset
120 first and last port separated by a hyphen:
0eabe2f4d365 Documented listen port ranges for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2199
diff changeset
121 <example>
0eabe2f4d365 Documented listen port ranges for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2199
diff changeset
122 listen 127.0.0.1:12345-12399;
0eabe2f4d365 Documented listen port ranges for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2199
diff changeset
123 listen 12345-12399;
0eabe2f4d365 Documented listen port ranges for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2199
diff changeset
124 </example>
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
125 </para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
126
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
127 <para>
1462
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
128 The <literal>ssl</literal> parameter allows specifying that all
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
129 connections accepted on this port should work in SSL mode.
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
130 </para>
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
131
1686
93063516f6ff Provided the anchor link for the "listen udp" parameter.
Ruslan Ermilov <ru@nginx.com>
parents: 1662
diff changeset
132 <para id="udp">
1662
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
133 The <literal>udp</literal> parameter configures a listening socket
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
134 for working with datagrams (1.9.13).
2358
ee4eccd811cd Added info about reuseport to stream listen udp.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2349
diff changeset
135 In order to handle packets from the same address and port in the same session,
ee4eccd811cd Added info about reuseport to stream listen udp.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2349
diff changeset
136 the <link id="reuseport"><literal>reuseport</literal></link> parameter
ee4eccd811cd Added info about reuseport to stream listen udp.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2349
diff changeset
137 should also be specified.
1662
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
138 </para>
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
139
1778
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
140 <para id="proxy_protocol">
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
141 The <literal>proxy_protocol</literal> parameter (1.11.4)
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
142 allows specifying that all connections accepted on this port should use the
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
143 <link url="http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt">PROXY
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
144 protocol</link>.
2125
b19d5d47c16c Documented ver.2 of the PROXY protocol.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1963
diff changeset
145 <note>
b19d5d47c16c Documented ver.2 of the PROXY protocol.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1963
diff changeset
146 The PROXY protocol version 2 is supported since version 1.13.11.
b19d5d47c16c Documented ver.2 of the PROXY protocol.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1963
diff changeset
147 </note>
1778
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
148 </para>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
149
1662
48615cf80e20 Documented the UDP proxy functionality.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1546
diff changeset
150 <para>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
151 The <literal>listen</literal> directive
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
152 can have several additional parameters specific to socket-related system calls.
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
153 <list type="tag">
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
154
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
155 <tag-name>
1502
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
156 <literal>backlog</literal>=<value>number</value>
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
157 </tag-name>
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
158 <tag-desc>
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
159 sets the <literal>backlog</literal> parameter in the
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
160 <c-func>listen</c-func> call that limits
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
161 the maximum length for the queue of pending connections (1.9.2).
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
162 By default,
1911
f024ac0ec5c7 Apple rebranded Mac OS X to macOS.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1798
diff changeset
163 <literal>backlog</literal> is set to -1 on FreeBSD, DragonFly BSD, and macOS,
1502
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
164 and to 511 on other platforms.
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
165 </tag-desc>
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
166
b628e042a15e Documented "listen backlog=" in mail and stream.
Ruslan Ermilov <ru@nginx.com>
parents: 1500
diff changeset
167 <tag-name>
1963
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
168 <literal>rcvbuf</literal>=<value>size</value>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
169 </tag-name>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
170 <tag-desc>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
171 sets the receive buffer size
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
172 (the <c-def>SO_RCVBUF</c-def> option) for the listening socket (1.11.13).
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
173 </tag-desc>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
174
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
175 <tag-name>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
176 <literal>sndbuf</literal>=<value>size</value>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
177 </tag-name>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
178 <tag-desc>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
179 sets the send buffer size
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
180 (the <c-def>SO_SNDBUF</c-def> option) for the listening socket (1.11.13).
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
181 </tag-desc>
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
182
351cefd5ff9c Documented rcvbuf and sndbuf for mail and stream listen directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1911
diff changeset
183 <tag-name>
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
184 <literal>bind</literal>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
185 </tag-name>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
186 <tag-desc>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
187 this parameter instructs to make a separate <c-func>bind</c-func>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
188 call for a given address:port pair.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
189 The fact is that if there are several <literal>listen</literal> directives with
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
190 the same port but different addresses, and one of the
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
191 <literal>listen</literal> directives listens on all addresses
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
192 for the given port (<literal>*:</literal><value>port</value>), nginx will
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
193 <c-func>bind</c-func> only to <literal>*:</literal><value>port</value>.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
194 It should be noted that the <c-func>getsockname</c-func> system call will be
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
195 made in this case to determine the address that accepted the connection.
2724
00afc7c4d4df Documented listen options that imply "bind".
Ruslan Ermilov <ru@nginx.com>
parents: 2471
diff changeset
196 If the <literal>backlog</literal>,
00afc7c4d4df Documented listen options that imply "bind".
Ruslan Ermilov <ru@nginx.com>
parents: 2471
diff changeset
197 <literal>rcvbuf</literal>, <literal>sndbuf</literal>,
00afc7c4d4df Documented listen options that imply "bind".
Ruslan Ermilov <ru@nginx.com>
parents: 2471
diff changeset
198 <literal>ipv6only</literal>, <literal>reuseport</literal>,
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
199 or <literal>so_keepalive</literal> parameters
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
200 are used then for a given
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
201 <value>address</value>:<value>port</value> pair
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
202 a separate <c-func>bind</c-func> call will always be made.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
203 </tag-desc>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
204
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
205 <tag-name>
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
206 <literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
207 </tag-name>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
208 <tag-desc>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
209 this parameter determines
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
210 (via the <c-def>IPV6_V6ONLY</c-def> socket option)
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
211 whether an IPv6 socket listening on a wildcard address <literal>[::]</literal>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
212 will accept only IPv6 connections or both IPv6 and IPv4 connections.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
213 This parameter is turned on by default.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
214 It can only be set once on start.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
215 </tag-desc>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
216
1507
14180fa9a518 Added ids for reuseport, mentioned reuseport in news.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1502
diff changeset
217 <tag-name id="reuseport">
1493
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
218 <literal>reuseport</literal>
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
219 </tag-name>
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
220 <tag-desc>
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
221 this parameter (1.9.1) instructs to create an individual listening socket
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
222 for each worker process
2199
1d60e4b4ed64 Documented SO_REUSEPORT_LB for listen reuseport.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2179
diff changeset
223 (using the
1d60e4b4ed64 Documented SO_REUSEPORT_LB for listen reuseport.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2179
diff changeset
224 <c-def>SO_REUSEPORT</c-def> socket option on Linux 3.9+ and DragonFly BSD,
1d60e4b4ed64 Documented SO_REUSEPORT_LB for listen reuseport.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2179
diff changeset
225 or <c-def>SO_REUSEPORT_LB</c-def> on FreeBSD 12+), allowing a kernel
1496
99ce48c8cce3 Corrected the "reuseport" description of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1493
diff changeset
226 to distribute incoming connections between worker processes.
2199
1d60e4b4ed64 Documented SO_REUSEPORT_LB for listen reuseport.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2179
diff changeset
227 This currently works only on Linux 3.9+, DragonFly BSD,
1d60e4b4ed64 Documented SO_REUSEPORT_LB for listen reuseport.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2179
diff changeset
228 and FreeBSD 12+ (1.15.1).
1493
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
229 <note>
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
230 Inappropriate use of this option may have its security
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
231 <link url="http://man7.org/linux/man-pages/man7/socket.7.html">implications</link>.
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
232 </note>
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
233 </tag-desc>
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
234
9faa78768252 Documented the "reuseport" option of the "listen" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1462
diff changeset
235 <tag-name>
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
236 <literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
237 </tag-name>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
238 <tag-desc>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
239 this parameter configures the “TCP keepalive” behavior
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
240 for the listening socket.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
241 If this parameter is omitted then the operating system’s settings will be
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
242 in effect for the socket.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
243 If it is set to the value “<literal>on</literal>”, the
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
244 <c-def>SO_KEEPALIVE</c-def> option is turned on for the socket.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
245 If it is set to the value “<literal>off</literal>”, the
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
246 <c-def>SO_KEEPALIVE</c-def> option is turned off for the socket.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
247 Some operating systems support setting of TCP keepalive parameters on
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
248 a per-socket basis using the <c-def>TCP_KEEPIDLE</c-def>,
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
249 <c-def>TCP_KEEPINTVL</c-def>, and <c-def>TCP_KEEPCNT</c-def> socket options.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
250 On such systems (currently, Linux 2.4+, NetBSD 5+, and
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
251 FreeBSD 9.0-STABLE), they can be configured
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
252 using the <value>keepidle</value>, <value>keepintvl</value>, and
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
253 <value>keepcnt</value> parameters.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
254 One or two parameters may be omitted, in which case the system default setting
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
255 for the corresponding socket option will be in effect.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
256 For example,
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
257 <example>so_keepalive=30m::10</example>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
258 will set the idle timeout (<c-def>TCP_KEEPIDLE</c-def>) to 30 minutes,
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
259 leave the probe interval (<c-def>TCP_KEEPINTVL</c-def>) at its system default,
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
260 and set the probes count (<c-def>TCP_KEEPCNT</c-def>) to 10 probes.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
261 </tag-desc>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
262
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
263 </list>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
264 </para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
265
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
266 <para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
267 Different servers must listen on different
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
268 <value>address</value>:<value>port</value> pairs.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
269 </para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
270
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
271 </directive>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
272
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
273
1798
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
274 <directive name="preread_buffer_size">
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
275 <syntax><value>size</value></syntax>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
276 <default>16k</default>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
277 <context>stream</context>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
278 <context>server</context>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
279 <appeared-in>1.11.5</appeared-in>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
280
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
281 <para>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
282 Specifies a <value>size</value> of the
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
283 <link doc="stream_processing.xml" id="preread_phase">preread</link> buffer.
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
284 </para>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
285
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
286 </directive>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
287
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
288
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
289 <directive name="preread_timeout">
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
290 <syntax><value>timeout</value></syntax>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
291 <default>30s</default>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
292 <context>stream</context>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
293 <context>server</context>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
294 <appeared-in>1.11.5</appeared-in>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
295
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
296 <para>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
297 Specifies a <value>timeout</value> of the
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
298 <link doc="stream_processing.xml" id="preread_phase">preread</link> phase.
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
299 </para>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
300
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
301 </directive>
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
302
59d1f512c3a0 Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1782
diff changeset
303
1782
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
304 <directive name="proxy_protocol_timeout">
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
305 <syntax><value>timeout</value></syntax>
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
306 <default>30s</default>
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
307 <context>stream</context>
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
308 <context>server</context>
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
309 <appeared-in>1.11.4</appeared-in>
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
310
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
311 <para>
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
312 Specifies a <value>timeout</value> for
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
313 reading the PROXY protocol header to complete.
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
314 If no entire header is transmitted within this time,
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
315 the connection is closed.
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
316 </para>
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
317
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
318 </directive>
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
319
363249d888e1 Documented the "proxy_protocol_timeout" directive in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1780
diff changeset
320
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
321 <directive name="resolver">
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
322 <syntax>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
323 <value>address</value> ...
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
324 [<literal>valid</literal>=<value>time</value>]
2451
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
325 [<literal>ipv6</literal>=<literal>on</literal>|<literal>off</literal>]
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
326 [<literal>status_zone</literal>=<value>zone</value>]</syntax>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
327 <default/>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
328 <context>stream</context>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
329 <context>server</context>
1753
256774f145ac Documented stream resolver and resolver_timeout for opensource.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1742
diff changeset
330 <appeared-in>1.11.3</appeared-in>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
331
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
332 <para>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
333 Configures name servers used to resolve names of upstream servers
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
334 into addresses, for example:
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
335 <example>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
336 resolver 127.0.0.1 [::1]:5353;
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
337 </example>
2452
4487310de7e7 Added IDs to resolver parameters, minor language fixes in resolver.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2451
diff changeset
338 The address can be specified as a domain name or IP address,
4487310de7e7 Added IDs to resolver parameters, minor language fixes in resolver.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2451
diff changeset
339 with an optional port.
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
340 If port is not specified, the port 53 is used.
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
341 Name servers are queried in a round-robin fashion.
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
342 </para>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
343
2452
4487310de7e7 Added IDs to resolver parameters, minor language fixes in resolver.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2451
diff changeset
344 <para id="resolver_ipv6">
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
345 By default, nginx will look up both IPv4 and IPv6 addresses while resolving.
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
346 If looking up of IPv6 addresses is not desired,
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
347 the <literal>ipv6=off</literal> parameter can be specified.
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
348 </para>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
349
2452
4487310de7e7 Added IDs to resolver parameters, minor language fixes in resolver.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2451
diff changeset
350 <para id="resolver_valid">
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
351 By default, nginx caches answers using the TTL value of a response.
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
352 The optional <literal>valid</literal> parameter allows overriding it:
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
353 <example>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
354 resolver 127.0.0.1 [::1]:5353 valid=30s;
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
355 </example>
2471
c8f0f30e1513 Added a note about DNS spoofing to all "resolver" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 2458
diff changeset
356 <note>
c8f0f30e1513 Added a note about DNS spoofing to all "resolver" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 2458
diff changeset
357 To prevent DNS spoofing, it is recommended
c8f0f30e1513 Added a note about DNS spoofing to all "resolver" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 2458
diff changeset
358 configuring DNS servers in a properly secured trusted local network.
c8f0f30e1513 Added a note about DNS spoofing to all "resolver" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 2458
diff changeset
359 </note>
2451
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
360 </para>
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
361
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
362 <para id="resolver_status_zone">
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
363 The optional <literal>status_zone</literal> parameter (1.17.1)
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
364 enables
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
365 <link doc="../http/ngx_http_api_module.xml" id="resolvers_">collection</link>
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
366 of DNS server statistics of requests and responses
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
367 in the specified <value>zone</value>.
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
368 The parameter is available as part of our
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
369 <commercial_version>commercial subscription</commercial_version>.
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
370 </para>
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
371
721f78cff4ef Documented resolver statistics for stream and mail.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2358
diff changeset
372 <para>
1462
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
373 <note>
1753
256774f145ac Documented stream resolver and resolver_timeout for opensource.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1742
diff changeset
374 Before version 1.11.3, this directive was available as part of our
1462
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
375 <commercial_version>commercial subscription</commercial_version>.
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
376 </note>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
377 </para>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
378
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
379 </directive>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
380
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
381
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
382 <directive name="resolver_timeout">
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
383 <syntax><value>time</value></syntax>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
384 <default>30s</default>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
385 <context>stream</context>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
386 <context>server</context>
1753
256774f145ac Documented stream resolver and resolver_timeout for opensource.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1742
diff changeset
387 <appeared-in>1.11.3</appeared-in>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
388
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
389 <para>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
390 Sets a timeout for name resolution, for example:
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
391 <example>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
392 resolver_timeout 5s;
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
393 </example>
1462
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
394 <note>
1753
256774f145ac Documented stream resolver and resolver_timeout for opensource.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1742
diff changeset
395 Before version 1.11.3, this directive was available as part of our
1462
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
396 <commercial_version>commercial subscription</commercial_version>.
e69e4dbcc760 Documented OSS stream modules.
Vladimir Homutov <vl@nginx.com>
parents: 1450
diff changeset
397 </note>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
398 </para>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
399
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
400 </directive>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
401
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1405
diff changeset
402
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
403 <directive name="server">
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
404 <syntax block="yes"/>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
405 <default/>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
406 <context>stream</context>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
407
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
408 <para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
409 Sets the configuration for a server.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
410 </para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
411
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
412 </directive>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
413
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
414
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
415 <directive name="stream">
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
416 <syntax block="yes"/>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
417 <default/>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
418 <context>main</context>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
419
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
420 <para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
421 Provides the configuration file context in which the stream server directives
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
422 are specified.
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
423 </para>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
424
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
425 </directive>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
426
1546
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
427
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
428 <directive name="tcp_nodelay">
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
429 <syntax><literal>on</literal> | <literal>off</literal></syntax>
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
430 <default>on</default>
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
431 <context>stream</context>
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
432 <context>server</context>
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
433 <appeared-in>1.9.4</appeared-in>
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
434
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
435 <para>
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
436 Enables or disables the use of the <c-def>TCP_NODELAY</c-def> option.
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
437 The option is enabled for both client and proxied server connections.
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
438 </para>
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
439
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
440 </directive>
8ea1813272bb Documented the tcp_nodelay directive for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1528
diff changeset
441
1741
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
442
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
443 <directive name="variables_hash_bucket_size">
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
444 <syntax><value>size</value></syntax>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
445 <default>64</default>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
446 <context>stream</context>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
447 <appeared-in>1.11.2</appeared-in>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
448
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
449 <para>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
450 Sets the bucket size for the variables hash table.
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
451 The details of setting up hash tables are provided in a separate
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
452 <link doc="../hash.xml">document</link>.
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
453 </para>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
454
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
455 </directive>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
456
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
457
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
458 <directive name="variables_hash_max_size">
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
459 <syntax><value>size</value></syntax>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
460 <default>1024</default>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
461 <context>stream</context>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
462 <appeared-in>1.11.2</appeared-in>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
463
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
464 <para>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
465 Sets the maximum <value>size</value> of the variables hash table.
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
466 The details of setting up hash tables are provided in a separate
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
467 <link doc="../hash.xml">document</link>.
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
468 </para>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
469
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
470 </directive>
a99ebc3af3e4 Added variables_hash_bucket_size and variables_max_size in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1686
diff changeset
471
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
472 </section>
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
473
1742
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
474
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
475 <section id="variables" name="Embedded Variables">
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
476
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
477 <para>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
478 The <literal>ngx_stream_core_module</literal> module supports variables
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
479 since 1.11.2.
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
480 <list type="tag">
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
481
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
482 <tag-name id="var_binary_remote_addr"><var>$binary_remote_addr</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
483 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
484 client address in a binary form, value’s length is always 4 bytes
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
485 for IPv4 addresses or 16 bytes for IPv6 addresses
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
486 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
487
1768
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
488 <tag-name id="var_bytes_received"><var>$bytes_received</var></tag-name>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
489 <tag-desc>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
490 number of bytes received from a client (1.11.4)
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
491 </tag-desc>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
492
1742
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
493 <tag-name id="var_bytes_sent"><var>$bytes_sent</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
494 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
495 number of bytes sent to a client
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
496 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
497
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
498 <tag-name id="var_connection"><var>$connection</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
499 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
500 connection serial number
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
501 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
502
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
503 <tag-name id="var_hostname"><var>$hostname</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
504 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
505 host name
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
506 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
507
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
508 <tag-name id="var_msec"><var>$msec</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
509 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
510 current time in seconds with the milliseconds resolution
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
511 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
512
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
513 <tag-name id="var_nginx_version"><var>$nginx_version</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
514 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
515 nginx version
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
516 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
517
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
518 <tag-name id="var_pid"><var>$pid</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
519 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
520 PID of the worker process
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
521 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
522
1768
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
523 <tag-name id="var_protocol"><var>$protocol</var></tag-name>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
524 <tag-desc>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
525 protocol used to communicate with the client:
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
526 <literal>TCP</literal> or <literal>UDP</literal> (1.11.4)
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
527 </tag-desc>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
528
1778
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
529 <tag-name id="var_proxy_protocol_addr"><var>$proxy_protocol_addr</var></tag-name>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
530 <tag-desc>
2457
3896055c397e Fixed descriptions of $proxy_protocol_addr and $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2452
diff changeset
531 client address from the PROXY protocol header (1.11.4)
1778
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
532 <para>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
533 The PROXY protocol must be previously enabled by setting the
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
534 <literal>proxy_protocol</literal> parameter
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
535 in the <link id="listen"/> directive.
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
536 </para>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
537 </tag-desc>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
538
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
539 <tag-name id="var_proxy_protocol_port"><var>$proxy_protocol_port</var></tag-name>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
540 <tag-desc>
2457
3896055c397e Fixed descriptions of $proxy_protocol_addr and $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2452
diff changeset
541 client port from the PROXY protocol header (1.11.4)
1778
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
542 <para>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
543 The PROXY protocol must be previously enabled by setting the
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
544 <literal>proxy_protocol</literal> parameter
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
545 in the <link id="listen"/> directive.
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
546 </para>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
547 </tag-desc>
1626f1bf164c Documented listen proxy_protocol, $proxy_protocol_addr, $proxy_protocol_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1771
diff changeset
548
2458
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
549 <tag-name id="var_proxy_protocol_server_addr"><var>$proxy_protocol_server_addr</var></tag-name>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
550 <tag-desc>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
551 server address from the PROXY protocol header (1.17.6)
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
552 <para>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
553 The PROXY protocol must be previously enabled by setting the
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
554 <literal>proxy_protocol</literal> parameter
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
555 in the <link id="listen"/> directive.
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
556 </para>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
557 </tag-desc>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
558
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
559 <tag-name id="var_proxy_protocol_server_port"><var>$proxy_protocol_server_port</var></tag-name>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
560 <tag-desc>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
561 server port from the PROXY protocol header (1.17.6)
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
562 <para>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
563 The PROXY protocol must be previously enabled by setting the
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
564 <literal>proxy_protocol</literal> parameter
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
565 in the <link id="listen"/> directive.
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
566 </para>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
567 </tag-desc>
9cd5883ac546 Documented $proxy_protocol_server_addr, $proxy_protocol_server_port.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2457
diff changeset
568
1742
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
569 <tag-name id="var_remote_addr"><var>$remote_addr</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
570 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
571 client address
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
572 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
573
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
574 <tag-name id="var_remote_port"><var>$remote_port</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
575 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
576 client port
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
577 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
578
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
579 <tag-name id="var_server_addr"><var>$server_addr</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
580 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
581 an address of the server which accepted a connection
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
582 <para>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
583 Computing a value of this variable usually requires one system call.
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
584 To avoid a system call, the <link id="listen"/> directives
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
585 must specify addresses and use the <literal>bind</literal> parameter.
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
586 </para>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
587 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
588
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
589 <tag-name id="var_server_port"><var>$server_port</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
590 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
591 port of the server which accepted a connection
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
592 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
593
1768
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
594 <tag-name id="var_session_time"><var>$session_time</var></tag-name>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
595 <tag-desc>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
596 session duration in seconds with a milliseconds resolution
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
597 (1.11.4);
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
598 </tag-desc>
061b590cbe1a Documented $bytes_received, $session_time, $protocol in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1753
diff changeset
599
1771
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
600 <tag-name id="var_status"><var>$status</var></tag-name>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
601 <tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
602 session status (1.11.4), can be one of the following:
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
603 <list type="tag">
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
604
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
605 <tag-name><literal>200</literal></tag-name>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
606 <tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
607 session completed successfully
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
608 </tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
609
1780
8df9ba4e56c6 Documented 400 error in stream $status.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1778
diff changeset
610 <tag-name><literal>400</literal></tag-name>
8df9ba4e56c6 Documented 400 error in stream $status.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1778
diff changeset
611 <tag-desc>
8df9ba4e56c6 Documented 400 error in stream $status.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1778
diff changeset
612 client data could not be parsed, for example,
8df9ba4e56c6 Documented 400 error in stream $status.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1778
diff changeset
613 the <link id="proxy_protocol">PROXY protocol</link> header
8df9ba4e56c6 Documented 400 error in stream $status.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1778
diff changeset
614 </tag-desc>
8df9ba4e56c6 Documented 400 error in stream $status.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1778
diff changeset
615
1771
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
616 <tag-name><literal>403</literal></tag-name>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
617 <tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
618 access forbidden, for example, when access is limited for
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
619 <link doc="ngx_stream_access_module.xml">certain client addresses</link>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
620 </tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
621
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
622 <tag-name><literal>500</literal></tag-name>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
623 <tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
624 internal server error
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
625 </tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
626
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
627 <tag-name><literal>502</literal></tag-name>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
628 <tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
629 bad gateway, for example,
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
630 if an upstream server could not be selected or reached.
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
631 </tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
632
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
633 <tag-name><literal>503</literal></tag-name>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
634 <tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
635 service unavailable, for example, when access is limited by the
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
636 <link doc="ngx_stream_limit_conn_module.xml">number of connections</link>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
637 </tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
638
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
639 </list>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
640 </tag-desc>
6a30f04a0208 Documented the $status variable in stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1768
diff changeset
641
1742
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
642 <tag-name id="var_time_iso8601"><var>$time_iso8601</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
643 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
644 local time in the ISO 8601 standard format
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
645 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
646
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
647 <tag-name id="var_time_local"><var>$time_local</var></tag-name>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
648 <tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
649 local time in the Common Log Format
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
650 </tag-desc>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
651
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
652 </list>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
653 </para>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
654
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
655 </section>
c511b73da3a9 Documented variables in ngx_stream_core_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1741
diff changeset
656
1367
f1e14d87d833 Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
657 </module>