Mercurial > hg > nginx-site
view xml/en/docs/mail/ngx_mail_ssl_module.xml @ 1108:a0543e9213e7
New default value for the variables_hash_max_size directive.
author | Andrei Belov <defan@nginx.com> |
---|---|
date | Tue, 25 Mar 2014 19:01:20 +0400 |
parents | 2b6a858c60dc |
children | ac131944d349 |
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="Module ngx_mail_ssl_module" link="/en/docs/mail/ngx_mail_ssl_module.html" lang="en" rev="3"> <section id="summary"> <para> The <literal>ngx_mail_ssl_module</literal> module provides the necessary support for a mail proxy server to work with the SSL/TLS protocol. </para> <para> This module is not built by default, it should be enabled with the <literal>--with-mail_ssl_module</literal> configuration parameter. <note> This module requires the <link url="http://www.openssl.org">OpenSSL</link> library. </note> </para> </section> <section id="directives" name="Directives"> <directive name="ssl"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>off</default> <context>mail</context> <context>server</context> <para> Enables the SSL/TLS protocol for the given server. </para> </directive> <directive name="ssl_certificate"> <syntax><value>file</value></syntax> <default/> <context>mail</context> <context>server</context> <para> Specifies a file with the certificate in the PEM format for the given server. If intermediate certificates should be specified in addition to a primary certificate, they should be specified in the same file in the following order: the primary certificate comes first, then the intermediate certificates. A secret key in the PEM format may be placed in the same file. </para> </directive> <directive name="ssl_certificate_key"> <syntax><value>file</value></syntax> <default/> <context>mail</context> <context>server</context> <para> Specifies a file with the secret key in the PEM format for the given server. </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> Specifies that server ciphers should be preferred over client ciphers when the SSLv3 and TLS protocols are used. </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> Enables the specified protocols. The <literal>TLSv1.1</literal> and <literal>TLSv1.2</literal> parameters work only when the OpenSSL library of version 1.0.1 or higher is used. <note> The <literal>TLSv1.1</literal> and <literal>TLSv1.2</literal> parameters are supported starting from versions 1.1.13 and 1.0.12 so when the OpenSSL version 1.0.1 or higher is used on older nginx versions, these protocols work, but cannot be disabled. </note> </para> </directive> <directive name="ssl_session_cache"> <syntax> <literal>off</literal> | <literal>none</literal> | [<literal>builtin</literal>[:<value>size</value>]] [<literal>shared</literal>:<value>name</value>:<value>size</value>]</syntax> <default>none</default> <context>mail</context> <context>server</context> <para> Sets the types and sizes of caches that store session parameters. A cache can be of any of the following types: <list type="tag"> <tag-name><literal>off</literal></tag-name> <tag-desc> the use of a session cache is strictly prohibited: nginx explicitly tells a client that sessions may not be reused. </tag-desc> <tag-name><literal>none</literal></tag-name> <tag-desc> the use of a session cache is gently disallowed: nginx tells a client that sessions may be reused, but does not actually store session parameters in the cache. </tag-desc> <tag-name><literal>builtin</literal></tag-name> <tag-desc> a cache built in OpenSSL; used by one worker process only. The cache size is specified in sessions. If size is not given, it is equal to 20480 sessions. Use of the built-in cache can cause memory fragmentation. </tag-desc> <tag-name><literal>shared</literal></tag-name> <tag-desc> a cache shared between all worker processes. The cache size is specified in bytes; one megabyte can store about 4000 sessions. Each shared cache should have an arbitrary name. A cache with the same name can be used in several servers. </tag-desc> </list> </para> <para> Both cache types can be used simultaneously, for example: <example> ssl_session_cache builtin:1000 shared:SSL:10m; </example> but using only shared cache without the built-in cache should be more efficient. </para> </directive> <directive name="ssl_session_ticket_key"> <syntax><value>file</value></syntax> <default/> <context>mail</context> <context>server</context> <appeared-in>1.5.7</appeared-in> <para> Sets a <value>file</value> with the secret key used to encrypt and decrypt TLS session tickets. The directive is necessary if the same key has to be shared between multiple servers. By default, a randomly generated key is used. </para> <para> If several keys are specified, only the first key is used to encrypt TLS session tickets. This allows to configure key rotation, for example: <example> ssl_session_ticket_key current.key; ssl_session_ticket_key previous.key; </example> </para> <para> The <value>file</value> must contain 48 bytes of random data and can be created using the following command: <example> openssl rand 48 > ticket.key </example> </para> </directive> <directive name="ssl_session_timeout"> <syntax><value>time</value></syntax> <default>5m</default> <context>mail</context> <context>server</context> <para> Specifies a time during which a client may reuse the session parameters stored in a cache. </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> allow usage of the <literal>STLS</literal> command for the POP3 and the <literal>STARTTLS</literal> command for the IMAP; </tag-desc> <tag-name><literal>off</literal></tag-name> <tag-desc> deny usage of the <literal>STLS</literal> and <literal>STARTTLS</literal> commands; </tag-desc> <tag-name><literal>only</literal></tag-name> <tag-desc> require preliminary TLS transition. </tag-desc> </list> </para> </directive> </section> </module>