Mercurial > hg > nginx-site
view xml/ru/docs/mail/ngx_mail_core_module.xml @ 1466:564bfa1ef994
Clarify that our syslog logging talks over UDP.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Fri, 24 Apr 2015 10:29:58 +0300 |
parents | 73b31b44d3a0 |
children | 42f288fc9ad3 |
line wrap: on
line source
<?xml version="1.0"?> <!-- Copyright (C) 2006, 2007 Anton Yuzhaninov Copyright (C) Nginx, Inc. --> <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> <module name="Модуль ngx_mail_core_module" link="/ru/docs/mail/ngx_mail_core_module.html" lang="ru" rev="3"> <section id="summary"> <para> По умолчанию этот модуль не собирается, его сборку необходимо разрешить с помощью конфигурационного параметра <literal>--with-mail</literal>. </para> </section> <section id="example" name="Пример конфигурации"> <para> <example> worker_processes 1; error_log /var/log/nginx/error.log info; mail { server_name mail.example.com; auth_http localhost:9000/cgi-bin/nginxauth.cgi; imap_capabilities IMAP4rev1 UIDPLUS IDLE LITERAL+ QUOTA; pop3_auth plain apop cram-md5; pop3_capabilities LAST TOP USER PIPELINING UIDL; smtp_auth login plain cram-md5; smtp_capabilities "SIZE 10485760" ENHANCEDSTATUSCODES 8BITMIME DSN; xclient off; server { listen 25; protocol smtp; } server { listen 110; protocol pop3; proxy_pass_error_message on; } server { listen 143; protocol imap; } server { listen 587; protocol smtp; } } </example> </para> </section> <section id="directives" name="Директивы"> <directive name="listen"> <syntax> <value>адрес</value>:<value>порт</value> [<literal>bind</literal>]</syntax> <default/> <context>server</context> <para> Задаёт <value>адрес</value> и <value>порт</value> сокета, на котором сервер будет принимать запросы. Можно указать только порт. Кроме того, адрес может быть именем сервера, например: <example> listen 127.0.0.1:110; listen *:110; listen 110; # то же, что и *:110 listen localhost:110; </example> IPv6-адреса (0.7.58) задаются в квадратных скобках: <example> listen [::1]:110; listen [::]:110; </example> UNIX-сокеты (1.3.5) задаются при помощи префикса “<literal>unix:</literal>”: <example> listen unix:/var/run/nginx.sock; </example> </para> <para> Необязательный параметр <literal>bind</literal> указывает, что для данной пары <value>адрес</value>:<value>порт</value> нужно делать <c-func>bind</c-func> отдельно. Дело в том, что если описаны несколько директив <literal>listen</literal> с одинаковым портом, но разными адресами, и одна из директив <literal>listen</literal> слушает на всех адресах для данного порта (<literal>*:</literal><value>порт</value>), то nginx сделает <c-func>bind</c-func> только на <literal>*:</literal><value>порт</value>. Необходимо заметить, что в этом случае для определения адреса, на который пришло соединение, делается системный вызов <c-func>getsockname</c-func>. </para> <para> Разные серверы должны слушать на разных парах <value>адрес</value>:<value>порт</value>. </para> </directive> <directive name="mail"> <syntax block="yes"/> <default/> <context>main</context> <para> Предоставляет контекст конфигурационного файла, в котором указываются директивы почтового сервера. </para> </directive> <directive name="protocol"> <syntax> <literal>imap</literal> | <literal>pop3</literal> | <literal>smtp</literal></syntax> <default/> <context>server</context> <para> Задаёт протокол проксируемого сервера. Поддерживаются протоколы <link doc="ngx_mail_imap_module.xml">IMAP</link>, <link doc="ngx_mail_pop3_module.xml">POP3</link> и <link doc="ngx_mail_smtp_module.xml">SMTP</link>. </para> <para> Если директива не указана, то протокол может быть определён автоматически по общеизвестному порту, указанному в директиве <link id="listen"/>: <list type="bullet"> <listitem> <literal>imap</literal>: 143, 993 </listitem> <listitem> <literal>pop3</literal>: 110, 995 </listitem> <listitem> <literal>smtp</literal>: 25, 587, 465 </listitem> </list> </para> <para> Поддержку ненужных протоколов можно отключить с помощью <link doc="../configure.xml">конфигурационных</link> параметров <literal>--without-mail_imap_module</literal>, <literal>--without-mail_pop3_module</literal> и <literal>--without-mail_smtp_module</literal>. </para> </directive> <directive name="resolver"> <syntax> <value>адрес</value> ... [<literal>valid</literal>=<value>время</value>]</syntax> <syntax><literal>off</literal></syntax> <default>off</default> <context>mail</context> <context>server</context> <para> Задаёт серверы DNS, используемые для определения имени хоста клиента для передачи его на <link doc="ngx_mail_auth_http_module.xml">сервер аутентификации</link> и в команде <link doc="ngx_mail_proxy_module.xml" id="xclient">XCLIENT</link> при проксировании SMTP. Например: <example> resolver 127.0.0.1 [::1]:5353; </example> Адрес может быть указан в виде доменного имени или IP-адреса, и необязательного порта (1.3.1, 1.2.2). Если порт не указан, используется порт 53. Серверы DNS опрашиваются циклически. <note> До версии 1.1.7 можно было задать лишь один DNS-сервер. Задание DNS-серверов с помощью IPv6-адресов поддерживается начиная с версий 1.3.1 и 1.2.2. </note> По умолчанию nginx кэширует ответы, используя значение TTL из ответа. Необязательный параметр <literal>valid</literal> позволяет это переопределить: <example> resolver 127.0.0.1 [::1]:5353 valid=30s; </example> <note> До версии 1.1.9 настройка времени кэширования была невозможна и nginx всегда кэшировал ответы на срок в 5 минут. </note> </para> <para> Специальное значение <literal>off</literal> запрещает использование DNS. </para> </directive> <directive name="resolver_timeout"> <syntax><value>время</value></syntax> <default>30s</default> <context>mail</context> <context>server</context> <para> Задаёт таймаут для операций DNS, например: <example> resolver_timeout 5s; </example> </para> </directive> <directive name="server"> <syntax block="yes"/> <default/> <context>mail</context> <para> Задаёт конфигурацию для сервера. </para> </directive> <directive name="server_name"> <syntax><value>имя</value></syntax> <default>hostname</default> <context>mail</context> <context>server</context> <para> Задаёт имя сервера, используемое: <list type="bullet"> <listitem> в начальном приветствии POP3/SMTP-сервера; </listitem> <listitem> в salt при аутентификации SASL-методом CRAM-MD5; </listitem> <listitem> в команде <literal>EHLO</literal> при подключении к SMTP-бэкенду, если разрешена передача команды <link doc="ngx_mail_proxy_module.xml" id="xclient">XCLIENT</link>. </listitem> </list> </para> <para> Если директива не указана, используется имя хоста (hostname) машины. </para> </directive> <directive name="so_keepalive"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>off</default> <context>mail</context> <context>server</context> <para> Определяет, включать ли на клиентском соединении режим “TCP keepalive” (параметр сокета <c-def>SO_KEEPALIVE</c-def>) при подключении к проксируемому серверу. </para> </directive> <directive name="timeout"> <syntax><value>время</value></syntax> <default>60s</default> <context>mail</context> <context>server</context> <para> Задаёт таймаут, который используется до начала проксирования на бэкенд. </para> </directive> </section> </module>