Mercurial > hg > nginx-site
changeset 630:a235ce0f8eef
Initial mail proxy server documentation in Russian.
Obtained from Anton Yuzhaninov.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Wed, 15 Aug 2012 07:56:36 +0000 |
parents | 7e4805858796 |
children | 9015b4a0df44 |
files | xml/ru/GNUmakefile xml/ru/docs/index.xml xml/ru/docs/mail/ngx_mail_auth_http_module.xml xml/ru/docs/mail/ngx_mail_core_module.xml xml/ru/docs/mail/ngx_mail_proxy_module.xml xml/ru/docs/mail/ngx_mail_ssl_module.xml |
diffstat | 6 files changed, 934 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/xml/ru/GNUmakefile Mon Aug 13 14:30:36 2012 +0000 +++ b/xml/ru/GNUmakefile Wed Aug 15 07:56:36 2012 +0000 @@ -65,6 +65,10 @@ http/ngx_http_upstream_module \ http/ngx_http_userid_module \ http/ngx_http_xslt_module \ + mail/ngx_mail_core_module \ + mail/ngx_mail_auth_http_module \ + mail/ngx_mail_proxy_module \ + mail/ngx_mail_ssl_module \ REFS_XML = $(foreach name, $(REFS), xml/$(DOC_LANG)/docs/$(name).xml) REFS_HTML = $(foreach name, $(REFS), $(OUT)/$(DOC_LANG)/docs/$(name).html)
--- a/xml/ru/docs/index.xml Mon Aug 13 14:30:36 2012 +0000 +++ b/xml/ru/docs/index.xml Wed Aug 15 07:56:36 2012 +0000 @@ -285,6 +285,32 @@ </list> </para> +<para> +<list type="bullet"> + +<listitem> +<link doc="mail/ngx_mail_core_module.xml"> +ngx_mail_core_module</link> +</listitem> + +<listitem> +<link doc="mail/ngx_mail_auth_http_module.xml"> +ngx_mail_auth_http_module</link> +</listitem> + +<listitem> +<link doc="mail/ngx_mail_proxy_module.xml"> +ngx_mail_proxy_module</link> +</listitem> + +<listitem> +<link doc="mail/ngx_mail_ssl_module.xml"> +ngx_mail_ssl_module</link> +</listitem> + +</list> +</para> + </section> </article>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/ru/docs/mail/ngx_mail_auth_http_module.xml Wed Aug 15 07:56:36 2012 +0000 @@ -0,0 +1,160 @@ +<?xml version="1.0"?> + +<!-- + Copyright (C) Anton Yuzhaninov 2006,2007 + Copyright (C) Nginx, Inc. + --> + +<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> + +<module name="Модуль ngx_mail_auth_http_module" + link="/ru/docs/mail/ngx_mail_auth_http_module.html" + lang="ru" + rev="1"> + +<section id="directives" name="Директивы"> + +<directive name="auth_http"> +<syntax><value>URL</value></syntax> +<default/> +<context>mail</context> +<context>server</context> + +<para> +Задаёт URL HTTP-сервера авторизации. +Протокол описан ниже. +</para> + +</directive> + + +<directive name="auth_http_header"> +<syntax><value>заголовок</value> <value>значение</value></syntax> +<default/> +<context>mail</context> +<context>server</context> + +<para> +Позволяет добавить указанный заголовок к запросам на сервер авторизации. +Можно использовать в качестве shared secret для проверки, +что запрос поступил от nginx. +Например: +<example> +auth_http_header X-Auth-Key "secret_string"; +</example> +</para> + +</directive> + + +<directive name="auth_http_timeout"> +<syntax><value>время</value></syntax> +<default>60s</default> +<context>mail</context> +<context>server</context> + +<para> +</para> + +</directive> + +</section> + + +<section id="protocol" name="Протокол"> + +<para> +Для общения с сервером авторизации используется HTTP. +Данные в теле ответа игнорируются, информация передаётся только в заголовках. +</para> + +<para> +Примеры запросов и ответов: +</para> + +<para> +Запрос: +<example> +GET /auth HTTP/1.0 +Host: localhost +Auth-Method: plain # plain или apop или cram-md5 +Auth-User: user +Auth-Pass: password +Auth-Protocol: imap # imap, pop3 или smtp +Auth-Login-Attempt: 1 # какая по счёту попытка в рамках одной сессии +Client-IP: 192.168.1.1 +</example> +Хороший ответ: +<example> +HTTP/1.0 200 OK # эта строка игнорируется +Auth-Status: OK +Auth-Server: 10.1.1.1 +Auth-Port: 143 +</example> +Плохой ответ: +<example> +HTTP/1.0 200 OK # эта строка игнорируется +Auth-Status: Invalid login or password +Auth-Wait: 3 # подождать три секунды перед выдачей ошибки клиенту +</example> +</para> + +<para> +Если заголовка <header>Auth-Wait</header> нет, +то после выдачи ошибки соединение будет закрыто. +В текущей реализации на каждую попытку авторизации выделяется память, +которая освобождается только при завершении сессии. +Поэтому число неудачных попыток авторизации в рамках одной сессии +должно быть ограничено — после 10-20 попыток (см. заголовок +<header>Auth-Login-Attempt</header>) сервер должен выдать ответ +без заголовка <header>Auth-Wait</header>. +</para> + +<para> +При использовании APOP или CRAM-MD5 запрос-ответ будут выглядеть так: +<example> +GET /auth HTTP/1.0 +Host: localhost +Auth-Method: apop +Auth-User: user +Auth-Salt: <238188073.1163692009@mail.example.com> +Auth-Pass: auth_response +Auth-Protocol: imap +Auth-Login-Attempt: 1 # какая по счёту попытка в рамках одной сессии +Client-IP: 192.168.1.1 +</example> +Хороший ответ: +<example> +HTTP/1.0 200 OK # эта строка игнорируется +Auth-Status: OK +Auth-Server: 10.1.1.1 +Auth-Port: 143 +Auth-Pass: plain-text-pass +</example> +</para> + +<para> +Для SMTP в ответе дополнительно учитывается заголовок +<header>Auth-Error-Code</header> — если он есть, +то используется как код ответа в случае ошибки. +Если нет, то по умолчанию к <header>Auth-Status</header> +будет добавлен код 535 5.7.0. +</para> + +<para> +Например, если от сервера авторизации будет получен ответ: +<example> +HTTP/1.0 200 OK +Auth-Status: Temporary server problem, try again later +Auth-Error-Code: 451 4.3.0 +Auth-Wait: 3 +</example> +то по SMTP клиенту будет выдана ошибка +<example> +451 4.3.0 Temporary server problem, try again later +</example> +</para> + +</section> + +</module>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/ru/docs/mail/ngx_mail_core_module.xml Wed Aug 15 07:56:36 2012 +0000 @@ -0,0 +1,394 @@ +<?xml version="1.0"?> + +<!-- + Copyright (C) Anton Yuzhaninov 2006,2007 + 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="1"> + +<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; + # По RFC 2821 таймаут должен быть 300 секунд + timeout 300s; + } + server { + listen 110; + protocol pop3; + proxy on; + proxy_pass_error_message on; + } + server { + listen 143; + protocol imap; + proxy on; + } + server { + listen 587; + protocol smtp; + timeout 300s; + } +} +</example> +</para> + +</section> + + +<section id="directives" name="Директивы"> + +<directive name="imap_capabilities"> +<syntax><value>расширение</value> ...</syntax> +<default>IMAP4 IMAP4rev1 UIDPLUS</default> +<context>mail</context> +<context>server</context> + +<para> +Позволяет указать список расширений +<link url="http://tools.ietf.org/html/rfc3501">протокола IMAP</link>, +выдаваемый клиенту по команде +<literal>CAPABILITY</literal>. +К этому списку автоматически добавляется +<link url="http://tools.ietf.org/html/rfc2595">STARTTLS</link>, +если включена директива <link doc="ngx_mail_ssl_module.xml" id="starttls"/>. +</para> + +<para> +В данной директиве имеет смысл указать расширения, +поддерживаемые IMAP-бэкендами, +на которые проксируются клиенты (если эти расширения относятся к командам, +используемым после авторизации, когда nginx прозрачно проксирует подключение +клиента на бэкенд). +</para> + +<para> +Текущий список стандартизованных расширений опубликован на +<link url="http://www.iana.org/assignments/imap4-capabilities">www.iana.org</link>. +</para> + +</directive> + + +<directive name="imap_client_buffer"> +<syntax><value>размер</value></syntax> +<default>4k|8k</default> +<context>mail</context> +<context>server</context> + +<para> +Задаёт размер буфера для чтения IMAP-команд. +По умолчанию размер одного буфера равен размеру страницы. +В зависимости от платформы это или 4K, или 8K. +</para> + +</directive> + + +<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> +</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="pop3_auth"> +<syntax><value>метод</value> ...</syntax> +<default>plain</default> +<context>mail</context> +<context>server</context> + +<para> +Задаёт разрешённые методы аутентификации POP3-клиентов. +Поддерживаемые методы: +<list type="tag"> + +<tag-name><literal>plain</literal></tag-name> +<tag-desc> +<link url="http://tools.ietf.org/html/rfc1939">USER/PASS</link>, +<link url="http://tools.ietf.org/html/rfc2595">AUTH PLAIN</link>, +<link url="http://tools.ietf.org/html/draft-murchison-sasl-login-00">AUTH LOGIN</link>. +Данные методы отключить нельзя. +</tag-desc> + +<tag-name><literal>apop</literal></tag-name> +<tag-desc> +<link url="http://tools.ietf.org/html/rfc1939">APOP</link>. +Для работы этого метода пароль должен храниться в незашифрованном виде. +</tag-desc> + +<tag-name><literal>cram-md5</literal></tag-name> +<tag-desc> +<link url="http://tools.ietf.org/html/rfc2195">AUTH CRAM-MD5</link>. +Для работы этого метода пароль должен храниться в незашифрованном виде. +</tag-desc> + +</list> +</para> + +</directive> + + +<directive name="pop3_capabilities"> +<syntax><value>расширение</value> ...</syntax> +<default>TOP USER UIDL</default> +<context>mail</context> +<context>server</context> + +<para> +Позволяет указать список расширений +<link url="http://tools.ietf.org/html/rfc2449">протокола POP3</link>, +выдаваемый клиенту по команде +<literal>CAPA</literal>. +К этому списку автоматически добавляются +методы авторизации, указанные в директиве <link id="pop3_auth"/> +(расширение <link url="http://tools.ietf.org/html/rfc2449">SASL</link>) и +<link url="http://tools.ietf.org/html/rfc2595">STLS</link>, +если включена директива <link doc="ngx_mail_ssl_module.xml" id="starttls"/>. +</para> + +<para> +В данной директиве имеет смысл указать расширения, +поддерживаемые POP3-бэкендами, +на которые проксируются клиенты (если эти расширения относятся к командам, +используемым после авторизации, когда nginx прозрачно проксирует подключение +клиента на бэкенд). +</para> + +<para> +Текущий список стандартизованных расширений опубликован на +<link url="http://www.iana.org/assignments/pop3-extension-mechanism">www.iana.org</link>. +</para> + +</directive> + + +<directive name="protocol"> +<syntax> + <literal>imap</literal> | + <literal>pop3</literal> | + <literal>smtp</literal></syntax> +<default/> +<context>server</context> + +<para> +</para> + +</directive> + + +<directive name="server"> +<syntax block="yes"/> +<default/> +<context>mail</context> + +<para> +Задаёт конфигурацию для виртуального сервера. +</para> + +</directive> + + +<directive name="server_name"> +<syntax><value>имя</value></syntax> +<default>имя хоста</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"/>. +</listitem> + +</list> + +</para> + +</directive> + + +<directive name="smtp_auth"> +<syntax><value>метод</value> ...</syntax> +<default>login plain</default> +<context>mail</context> +<context>server</context> + +<para> +Задаёт разрешённые методы +<link url="http://tools.ietf.org/html/rfc2554">SASL-аутентификации</link> +SMTP-клиентов. +Поддерживаемые методы: +<list type="tag"> + +<tag-name><literal>login</literal></tag-name> +<tag-desc> +<link url="http://tools.ietf.org/html/draft-murchison-sasl-login-00">AUTH LOGIN</link> +</tag-desc> + +<tag-name><literal>plain</literal></tag-name> +<tag-desc> +<link url="http://tools.ietf.org/html/rfc2595">AUTH PLAIN</link> +</tag-desc> + +<tag-name><literal>cram-md5</literal></tag-name> +<tag-desc> +<link url="http://tools.ietf.org/html/rfc2195">AUTH CRAM-MD5</link>. +Для работы этого метода пароль должен храниться в незашифрованном виде. +</tag-desc> + +</list> +</para> + +</directive> + + +<directive name="smtp_capabilities"> +<syntax><value>расширение</value> ...</syntax> +<default/> +<context>mail</context> +<context>server</context> + +<para> +Позволяет указать список расширений протокола SMTP, +выдаваемый клиенту в ответе на команду +<literal>EHLO</literal>. +К этому списку автоматически добавляются +методы авторизации, указанные в директиве <link id="smtp_auth"/>. +</para> + +<para> +В данной директиве имеет смысл указать расширения, +поддерживаемые MTA, +на который проксируются клиенты (если эти расширения относятся к командам, +используемым после авторизации, когда nginx прозрачно проксирует подключение +клиента на бэкенд). +</para> + +<para> +Текущий список стандартизованных расширений опубликован на +<link url="http://www.iana.org/assignments/mail-parameters">www.iana.org</link>. +</para> + +</directive> + + +<directive name="so_keepalive"> +<syntax><literal>on</literal> | <literal>off</literal></syntax> +<default>off</default> +<context>mail</context> +<context>server</context> + +<para> +При подключении к IMAP/POP3-бэкенду определяет для сокета поведение +“TCP keepalive”. +Если директива не указана, то для сокета будут действовать +настройки операционной системы. +Если включено, то для сокета +включается параметр <c-def>SO_KEEPALIVE</c-def>. +Если выключено, то для сокета +параметр <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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/ru/docs/mail/ngx_mail_proxy_module.xml Wed Aug 15 07:56:36 2012 +0000 @@ -0,0 +1,136 @@ +<?xml version="1.0"?> + +<!-- + Copyright (C) Anton Yuzhaninov 2006,2007 + Copyright (C) Nginx, Inc. + --> + +<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> + +<module name="Модуль ngx_mail_proxy_module" + link="/ru/docs/mail/ngx_mail_proxy_module.html" + lang="ru" + rev="1"> + +<section id="directives" name="Директивы"> + +<!-- +<directive name="proxy"> +<syntax><literal>on</literal> | <literal>off</literal></syntax> +<default>off</default> +<context>mail</context> +<context>server</context> + +<para> +В текущей версии нигде не проверяется. +</para> + +</directive> +--> + + +<directive name="proxy_buffer"> +<syntax><value>размер</value></syntax> +<default>4k|8k</default> +<context>mail</context> +<context>server</context> + +<para> +Задаёт размер буфера, используемого при проксировании. +По умолчанию размер одного буфера равен размеру страницы. +В зависимости от платформы это или 4K, или 8K. +</para> + +</directive> + + +<directive name="proxy_pass_error_message"> +<syntax><literal>on</literal> | <literal>off</literal></syntax> +<default>off</default> +<context>mail</context> +<context>server</context> + +<para> +Определяет, передавать ли клиенту сообщение об ошибке, +полученное при авторизации на бэкенде. +</para> + +<para> +Обычно, если авторизация в nginx прошла успешно, +бэкенд не может вернуть ошибку, и если она всё же есть, +значит есть какая-то ошибка внутри системы. +В таких случаях сообщение бэкенда может содержать информацию, +которую нельзя показывать клиенту. +Однако для некоторых POP3-серверов ошибка в ответ на правильный пароль +является штатным поведением. +Например, CommuniGatePro извещает пользователя о +<link url="http://www.stalker.com/CommuniGatePro/Alerts.html#Quota">переполнении +ящика</link> или других событиях, периодически выдавая +<link url="http://www.stalker.com/CommuniGatePro/POP.html#Alerts">ошибку +авторизации</link>. +В этом случае директиву стоит включить. +</para> + +</directive> + + +<directive name="proxy_timeout"> +<syntax><value>время</value></syntax> +<default>24h</default> +<context>mail</context> +<context>server</context> + +<para> +Задаёт таймаут, который используется после начала проксирования на бэкенд. +</para> + +</directive> + + +<directive name="xclient"> +<syntax><literal>on</literal> | <literal>off</literal></syntax> +<default>on</default> +<context>mail</context> +<context>server</context> + +<para> +Разрешает или запрещает передачу команды <literal>XCLIENT</literal> +при подключении к SMTP-бэкенду. +Для работы команды <literal>XCLIENT</literal> необходим Postfix с +<link url="http://citrin.ru/nginx:xclient-login-patch">патчем</link>, +который добавляет параметр <literal>LOGIN</literal>. +Если не использовать <literal>XCLIENT</literal>, то MTA не сможет писать в лог +<literal>IP</literal>/<literal>HELO</literal>/<literal>LOGIN</literal> +клиента и применять различные ограничения на основе этих данных. +</para> + +<para> +Если <literal>xclient</literal> включено, +то при подключении к бэкенду nginx сначала передаёт +<example> +EHLO server_name +</example> +потом +<example> +XCLIENT PROTO=ESMTP HELO=client_hello ADDR=192.168.1.1 LOGIN=good_user NAME=[UNAVAILABLE] +</example> +Если клиент при подключении к nginx передал <literal>EHLO</literal>, то в +команде <literal>XCLIENT</literal> передаётся <literal>PROTO=ESMTP</literal>. +В противном случае передаётся <literal>PROTO=SMTP</literal>. +В параметре <literal>ADDR</literal> указывается IP-адрес клиента, +а поскольку nginx не обращается к DNS для получения имени хоста, +то указывается <literal>NAME=[UNAVAILABLE]</literal>. +</para> + +<para> +Если же <literal>xclient</literal> выключено, +то при подключении к бэкенду nginx передаёт +<literal>EHLO</literal>, если его передал клиент, +и <literal>HELO</literal> в остальных случаях. +</para> + +</directive> + +</section> + +</module>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/ru/docs/mail/ngx_mail_ssl_module.xml Wed Aug 15 07:56:36 2012 +0000 @@ -0,0 +1,214 @@ +<?xml version="1.0"?> + +<!-- + Copyright (C) Anton Yuzhaninov 2006,2007 + Copyright (C) Nginx, Inc. + --> + +<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> + +<module name="Модуль ngx_mail_ssl_module" + link="/ru/docs/mail/ngx_mail_ssl_module.html" + lang="ru" + rev="1"> + +<section id="directives" name="Директивы"> + +<directive name="ssl"> +<syntax><literal>on</literal> | <literal>off</literal></syntax> +<default>off</default> +<context>mail</context> +<context>server</context> + +<para> +Включает протокол SSL/TLS для данного виртуального сервера. +</para> + +</directive> + + +<directive name="ssl_certificate"> +<syntax><value>файл</value></syntax> +<default/> +<context>mail</context> +<context>server</context> + +<para> +Указывает файл с сертификатом в формате PEM +для данного виртуального сервера. +Если вместе с основным сертификатом нужно указать промежуточные, +то они должны находиться в этом же файле в следующем порядке — сначала +основной сертификат, а затем промежуточные. +В этом же файле может находиться секретный ключ в формате PEM. +</para> + +</directive> + + +<directive name="ssl_certificate_key"> +<syntax><value>файл</value></syntax> +<default/> +<context>mail</context> +<context>server</context> + +<para> +Указывает файл с секретным ключом в формате PEM +для данного виртуального сервера. +</para> + +</directive> + + +<directive name="ssl_prefer_server_ciphers"> +<syntax><literal>on</literal> | <literal>off</literal></syntax> +<default>off</default> +<context>mail</context> +<context>server</context> + +<para> +Указывает, чтобы при использовании протоколов SSLv3 и TLS +серверные шифры были более приоритетны, чем клиентские. +</para> + +</directive> + + +<directive name="ssl_protocols"> +<syntax> + [<literal>SSLv2</literal>] + [<literal>SSLv3</literal>] + [<literal>TLSv1</literal>] + [<literal>TLSv1.1</literal>] + [<literal>TLSv1.2</literal>]</syntax> +<default>SSLv3 TLSv1 TLSv1.1 TLSv1.2</default> +<context>mail</context> +<context>server</context> + +<para> +Разрешает указанные протоколы. +Параметры <literal>TLSv1.1</literal> и <literal>TLSv1.2</literal> работают +только при использовании библиотеки OpenSSL версии 1.0.1 и выше. +<note> +Параметры <literal>TLSv1.1</literal> и <literal>TLSv1.2</literal> поддерживаются +только начиная с версий 1.1.13 и 1.0.12, +поэтому при использовании OpenSSL версии 1.0.1 +и выше на старых версиях nginx эти протоколы работать будут, однако их нельзя +будет отключить. +</note> +</para> + +</directive> + + +<directive name="ssl_session_cache"> +<syntax> + <literal>off</literal> | + <literal>none</literal> | + [<literal>builtin</literal>[:<value>размер</value>]] + [<literal>shared</literal>:<value>название</value>:<value>размер</value>]</syntax> +<default>none</default> +<context>mail</context> +<context>server</context> + +<para> +Задаёт тип и размеры кэшей для хранения параметров сессий. +Тип кэша может быть следующим: +<list type="tag" compact="no"> + +<tag-name><literal>off</literal></tag-name> +<tag-desc> +жёсткое запрещение использования кэша сессий: +nginx явно говорит клиенту, что сессии не могут использоваться повторно. +</tag-desc> + +<tag-name><literal>none</literal></tag-name> +<tag-desc> +мягкое запрещение использования кэша сессий: +nginx говорит клиенту, что сессии могут использоваться повторно, но +на самом деле не используются. +</tag-desc> + +<tag-name><literal>builtin</literal></tag-name> +<tag-desc> +встроенный в OpenSSL кэш, используется в рамках только одного рабочего процесса. +Размер кэша задаётся в сессиях. +Если размер не задан, то он равен 20480 сессиям. +Использование встроенного кэша может вести к фрагментации памяти. +</tag-desc> + +<tag-name><literal>shared</literal></tag-name> +<tag-desc> +разделяемый между всеми рабочими процессами. +Размер кэша задаётся в байтах, в 1 мегабайт может поместиться +около 4000 сессий. +У каждого разделяемого кэша должно быть произвольное название. +Кэш с одинаковым названием может использоваться в нескольких +виртуальных серверах. +</tag-desc> + +</list> +</para> + +<para> +Можно использовать одновременно оба типа кэша, например: +<example> +ssl_session_cache builtin:1000 shared:SSL:10m; +</example> +однако использование только разделяемого кэша без встроенного должно +быть более эффективным. +</para> + +</directive> + + +<directive name="ssl_session_timeout"> +<syntax><value>время</value></syntax> +<default>5m</default> +<context>mail</context> +<context>server</context> + +<para> +Задаёт время, в течение которого клиент может повторно +использовать параметры сессии, хранящейся в кэше. +</para> + +</directive> + + +<directive name="starttls"> +<syntax> + <literal>on</literal> | + <literal>off</literal> | + <literal>only</literal></syntax> +<default>off</default> +<context>mail</context> +<context>server</context> + +<para> +<list type="tag"> + +<tag-name><literal>on</literal></tag-name> +<tag-desc> +разрешить использование команд <literal>STLS</literal> для POP3 +и <literal>STARTTLS</literal> для IMAP; +</tag-desc> + +<tag-name><literal>off</literal></tag-name> +<tag-desc> +запретить использование команд <literal>STLS</literal> +и <literal>STARTTLS</literal>; +</tag-desc> + +<tag-name><literal>only</literal></tag-name> +<tag-desc> +требовать предварительного перехода на TLS. +</tag-desc> + +</list> +</para> + +</directive> + +</section> + +</module>