Модуль ngx_mail_ssl_module обеспечивает работу
почтового прокси-сервера по протоколу SSL/TLS.
По умолчанию этот модуль не собирается, его сборку необходимо
разрешить с помощью конфигурационного параметра
--with-mail_ssl_module .
Для сборки и работы этого модуля нужна библиотека
OpenSSL.
Директивы
синтаксис:
|
ssl on | off ;
|
умолчание:
|
ssl off;
|
контекст:
|
mail , server
|
Включает протокол SSL/TLS для данного сервера.
синтаксис:
|
ssl_certificate файл ;
|
умолчание:
|
—
|
контекст:
|
mail , server
|
Указывает файл с сертификатом в формате PEM
для данного сервера.
Если вместе с основным сертификатом нужно указать промежуточные,
то они должны находиться в этом же файле в следующем порядке — сначала
основной сертификат, а затем промежуточные.
В этом же файле может находиться секретный ключ в формате PEM.
синтаксис:
|
ssl_certificate_key файл ;
|
умолчание:
|
—
|
контекст:
|
mail , server
|
Указывает файл с секретным ключом в формате PEM
для данного сервера.
синтаксис:
|
ssl_prefer_server_ciphers on | off ;
|
умолчание:
|
ssl_prefer_server_ciphers off;
|
контекст:
|
mail , server
|
Указывает, чтобы при использовании протоколов SSLv3 и TLS
серверные шифры были более приоритетны, чем клиентские.
синтаксис:
|
ssl_protocols
[SSLv2 ]
[SSLv3 ]
[TLSv1 ]
[TLSv1.1 ]
[TLSv1.2 ];
|
умолчание:
|
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
|
контекст:
|
mail , server
|
Разрешает указанные протоколы.
Параметры TLSv1.1 и TLSv1.2 работают
только при использовании библиотеки OpenSSL версии 1.0.1 и выше.
Параметры TLSv1.1 и TLSv1.2 поддерживаются
только начиная с версий 1.1.13 и 1.0.12,
поэтому при использовании OpenSSL версии 1.0.1
и выше на старых версиях nginx эти протоколы работать будут, однако их нельзя
будет отключить.
синтаксис:
|
ssl_session_cache
off |
none |
[builtin [:размер ]]
[shared :название :размер ];
|
умолчание:
|
ssl_session_cache none;
|
контекст:
|
mail , server
|
Задаёт тип и размеры кэшей для хранения параметров сессий.
Тип кэша может быть следующим:
off
-
жёсткое запрещение использования кэша сессий:
nginx явно говорит клиенту, что сессии не могут использоваться повторно.
none
-
мягкое запрещение использования кэша сессий:
nginx говорит клиенту, что сессии могут использоваться повторно, но
на самом деле не используются.
builtin
-
встроенный в OpenSSL кэш, используется в рамках только одного рабочего процесса.
Размер кэша задаётся в сессиях.
Если размер не задан, то он равен 20480 сессиям.
Использование встроенного кэша может вести к фрагментации памяти.
shared
-
разделяемый между всеми рабочими процессами.
Размер кэша задаётся в байтах, в 1 мегабайт может поместиться
около 4000 сессий.
У каждого разделяемого кэша должно быть произвольное название.
Кэш с одинаковым названием может использоваться в нескольких
серверах.
Можно использовать одновременно оба типа кэша, например:
ssl_session_cache builtin:1000 shared:SSL:10m;
однако использование только разделяемого кэша без встроенного должно
быть более эффективным.
синтаксис:
|
ssl_session_timeout время ;
|
умолчание:
|
ssl_session_timeout 5m;
|
контекст:
|
mail , server
|
Задаёт время, в течение которого клиент может повторно
использовать параметры сессии, хранящейся в кэше.
синтаксис:
|
starttls
on |
off |
only ;
|
умолчание:
|
starttls off;
|
контекст:
|
mail , server
|
on
-
разрешить использование команд
STLS для POP3
и STARTTLS для IMAP;
off
-
запретить использование команд
STLS
и STARTTLS ;
only
-
требовать предварительного перехода на TLS.
|