Персональный | |
Директивы модуля ngx_http_ssl_module
01.09.2008 Модуль ngx_http_ssl_module обеспечивает работу по протоколу HTTPS. Поддерживается проверка сертификатов клиентов с двумя ограничениями:
По умолчанию модуль не собирается, нужно разрешить его сборку
при конфигурировании параметром
СодержаниеПример конфигурацииДирективы
Встроенные переменные Пример конфигурацииДля уменьшения загрузки процессора рекомендуется
Директивыsyntax: ssl [on|off] default: ssl off context: http, server Директива разрешает протокол HTTPS для данного виртуального сервера. syntax: ssl_certificate файл default: нет context: http, server Директива указывает файл с сертификатом в формате PEM для данного виртуального сервера. Если вместе с основным сертификатом нужно указать промежуточные, то они должны находиться в этом же файле в следующем порядке сначала основной сертификат, а затем промежуточные. В этом же файле может находиться секретный ключ в формате PEM. Нужно иметь ввиду, что из-за ограничения протокола HTTPS виртуральные сервера должны слушать на разных IP-адресах:
иначе для второго сайта будет выдаваться сертификат первого сервера.
syntax: ssl_certificate_key файл default: нет context: http, server Директива указывает файл с секретным ключом в формате PEM для данного виртуального сервера. syntax: ssl_client_certificate файл default: нет context: http, server Директива указывает файл с сертификатами CA в формате PEM, используемыми для для проверки клиентских сертификатов. syntax: ssl_ciphers шифры default: ssl_ciphers ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP context: http, server Директива описывает разрешённые шифры. Шифры задаются в формате, поддерживаемом библиотекой OpenSSL, например:
Полный список можно посмотреть с помощью команды
syntax: ssl_dhparam файл default: нет context: http, server Директива (0.7.2) указывает файл с параметрами для шифров с обменом EDH-ключами. syntax: ssl_prefer_server_ciphers [on|off] default: ssl_prefer_server_ciphers off context: http, server Директива указывает, чтобы при использовании протоколов SSLv3 и TLSv1 серверные шифры были более приоритетны, чем клиентские. syntax: ssl_protocols [SSLv2] [SSLv3] [TLSv1] default: ssl_protocols SSLv2 SSLv3 TLSv1 context: http, server Директива разрешает указанные протоколы. syntax: ssl_verify_client on|off|ask default: ssl_verify_client off context: http, server Директива разрешает проверку клиентских сертификатов. Параметр ask (0.7.7+) только запрашивает сертификат клиента, но не проверяет его. syntax: ssl_verify_depth число default: ssl_verify_depth 1 context: http, server Директива устанавливает глубину проверку в цепочке клиентских сертификатов. syntax: ssl_session_cache off|none|[builtin[:размер]] [shared:название:размер] default: ssl_session_cache none context: http, server Директива задаёт тип и размеры кэшей для хранения параметров сессий. Тип кэша может быть следующим:
Можно использовать одновременно оба типа кэша, например: однако использование только разделяемого кэша без встроенного должно быть более эффективным.ssl_session_cache builtin:1000 shared:SSL:10m; syntax: ssl_session_timeout время default: ssl_session_timeout 5m context: http, server Директива задаёт время, в течение которого клиент может повторно использовать параметры сессии, хранящейся в кэше. Обработка ошибокМодуль ngx_http_ssl_module поддерживает несколько нестандартных кодов ошибок, которые можно использовать для перенаправления с помощью директивы error_page:
Перенаправление делается после того, как запрос полностью разобран и доступны такие переменные, как $request_uri, $uri, $arg и прочие. Встроенные переменныеМодуль ngx_http_ssl_module поддерживает несколько встроенных переменных:
(C) Игорь Сысоев |