comparison xml/ru/docs/mail/ngx_mail_core_module.xml @ 1488:0a1c5a087556

Documented bind/ipv6only/ssl/so_keepalive in mail listen directive.
author Yaroslav Zhuravlev <yar@nginx.com>
date Mon, 25 May 2015 13:22:48 +0300
parents 42f288fc9ad3
children 9f9b8543b946
comparison
equal deleted inserted replaced
1487:269e8de8765a 1488:0a1c5a087556
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9 9
10 <module name="Модуль ngx_mail_core_module" 10 <module name="Модуль ngx_mail_core_module"
11 link="/ru/docs/mail/ngx_mail_core_module.html" 11 link="/ru/docs/mail/ngx_mail_core_module.html"
12 lang="ru" 12 lang="ru"
13 rev="4"> 13 rev="5">
14 14
15 <section id="summary"> 15 <section id="summary">
16 16
17 <para> 17 <para>
18 По умолчанию этот модуль не собирается, его сборку необходимо 18 По умолчанию этот модуль не собирается, его сборку необходимо
71 <section id="directives" name="Директивы"> 71 <section id="directives" name="Директивы">
72 72
73 <directive name="listen"> 73 <directive name="listen">
74 <syntax> 74 <syntax>
75 <value>адрес</value>:<value>порт</value> 75 <value>адрес</value>:<value>порт</value>
76 [<literal>bind</literal>]</syntax> 76 [<literal>ssl</literal>]
77 [<literal>bind</literal>]
78 [<literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>]
79 [<literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]]</syntax>
77 <default/> 80 <default/>
78 <context>server</context> 81 <context>server</context>
79 82
80 <para> 83 <para>
81 Задаёт <value>адрес</value> и <value>порт</value> сокета, на котором сервер 84 Задаёт <value>адрес</value> и <value>порт</value> сокета, на котором сервер
99 </example> 102 </example>
100 103
101 </para> 104 </para>
102 105
103 <para> 106 <para>
104 Необязательный параметр <literal>bind</literal> 107 Параметр <literal>ssl</literal> указывает на то, что все соединения,
108 принимаемые на данном порту, должны работать в режиме SSL.
109 </para>
110
111 <para>
112 В директиве <literal>listen</literal> можно также указать несколько
113 дополнительных параметров, специфичных для связанных с сокетами
114 системных вызовов.
115 <list type="tag">
116
117 <tag-name>
118 <literal>bind</literal>
119 </tag-name>
120 <tag-desc>
105 указывает, что для данной пары 121 указывает, что для данной пары
106 <value>адрес</value>:<value>порт</value> нужно делать 122 <value>адрес</value>:<value>порт</value> нужно делать
107 <c-func>bind</c-func> отдельно. 123 <c-func>bind</c-func> отдельно.
108 Дело в том, что если описаны несколько директив <literal>listen</literal> 124 Это нужно потому, что если описаны несколько директив <literal>listen</literal>
109 с одинаковым портом, но разными адресами, и одна из директив 125 с одинаковым портом, но разными адресами, и одна из директив
110 <literal>listen</literal> слушает на всех адресах для данного порта 126 <literal>listen</literal> слушает на всех адресах для данного порта
111 (<literal>*:</literal><value>порт</value>), то nginx сделает 127 (<literal>*:</literal><value>порт</value>), то nginx сделает
112 <c-func>bind</c-func> только на <literal>*:</literal><value>порт</value>. 128 <c-func>bind</c-func> только на <literal>*:</literal><value>порт</value>.
113 Необходимо заметить, что в этом случае для определения адреса, на который 129 Необходимо заметить, что в этом случае для определения адреса, на который
114 пришло соединение, делается системный вызов <c-func>getsockname</c-func>. 130 пришло соединение, делается системный вызов <c-func>getsockname</c-func>.
131 Если же используются параметры <literal>ipv6only</literal>
132 или <literal>so_keepalive</literal>,
133 то для данной пары
134 <value>адрес</value>:<value>порт</value> всегда делается
135 отдельный вызов <c-func>bind</c-func>.
136 </tag-desc>
137
138 <tag-name>
139 <literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>
140 </tag-name>
141 <tag-desc>
142 этот параметр определяет
143 (через параметр сокета <c-def>IPV6_V6ONLY</c-def>),
144 будет ли слушающий на wildcard-адресе <literal>[::]</literal> IPv6-сокет
145 принимать только IPv6-соединения, или же одновременно IPv6- и IPv4-соединения.
146 По умолчанию параметр включён.
147 Установить его можно только один раз на старте.
148 </tag-desc>
149
150 <tag-name>
151 <literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]
152 </tag-name>
153 <tag-desc>
154 этот параметр конфигурирует для слушающего сокета
155 поведение “TCP keepalive”.
156 Если этот параметр опущен, то для сокета будут действовать
157 настройки операционной системы.
158 Если он установлен в значение “<literal>on</literal>”, то для сокета
159 включается параметр <c-def>SO_KEEPALIVE</c-def>.
160 Если он установлен в значение “<literal>off</literal>”, то для сокета
161 параметр <c-def>SO_KEEPALIVE</c-def> выключается.
162 Некоторые операционные системы поддерживают настройку параметров
163 “TCP keepalive” на уровне сокета посредством параметров
164 <c-def>TCP_KEEPIDLE</c-def>, <c-def>TCP_KEEPINTVL</c-def> и
165 <c-def>TCP_KEEPCNT</c-def>.
166 На таких системах (в настоящий момент это Linux 2.4+, NetBSD 5+ и
167 FreeBSD 9.0-STABLE)
168 их можно сконфигурировать с помощью параметров <value>keepidle</value>,
169 <value>keepintvl</value> и <value>keepcnt</value>.
170 Один или два параметра могут быть опущены, в таком случае для
171 соответствующего параметра сокета будут действовать стандартные
172 системные настройки.
173 Например,
174 <example>so_keepalive=30m::10</example>
175 установит таймаут бездействия (<c-def>TCP_KEEPIDLE</c-def>) в 30 минут,
176 для интервала проб (<c-def>TCP_KEEPINTVL</c-def>) будет действовать
177 стандартная системная настройка, а счётчик проб (<c-def>TCP_KEEPCNT</c-def>)
178 будет равен 10.
179 </tag-desc>
180
181 </list>
115 </para> 182 </para>
116 183
117 <para> 184 <para>
118 Разные серверы должны слушать на разных парах 185 Разные серверы должны слушать на разных парах
119 <value>адрес</value>:<value>порт</value>. 186 <value>адрес</value>:<value>порт</value>.