ngx_http_ssl_module#
Модуль ngx_http_ssl_module реализует поддержку протокола HTTPS.
Важно
Для сборки и работы этого модуля нужна библиотека OpenSSL.
Пример конфигурации#
worker_processes auto;
http {
...
server {
listen 443 ssl;
keepalive_timeout 70;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
ssl_certificate /usr/local/nginx/conf/cert.pem;
ssl_certificate_key /usr/local/nginx/conf/cert.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
...
}
Директивы#
Список директив модуля представлен в таблице ниже.
Синтаксис |
Значение по умолчанию |
Контекст |
Описание |
|---|---|---|---|
|
|
|
Устанавливает размер буфера для передачи данных |
|
— |
|
Задает путь к файлу сертификата в формате PEM для виртуального сервера |
|
— |
|
Указывает путь к файлу с приватным ключом в формате PEM для виртуального сервера |
|
|
|
Определяет список допустимых шифров в формате, совместимом с OpenSSL |
|
— |
|
Задает файл с сертификатами доверенных центров сертификации (CA) в формате PEM для проверки клиентских сертификатов |
|
— |
|
Позволяет задавать пользовательские команды конфигурации OpenSSL |
|
— |
|
Указывает файл со списком отозванных сертификатов (CRL) в формате PEM для проверки клиентских сертификатов |
|
— |
|
Задает файл с параметрами для DHE-шифрования |
|
|
|
Включает или отключает использование ранних данных (early data) в протоколе TLS 1.3 |
|
|
|
Задает кривую |
|
— |
|
Включает запись SSL-ключей клиентских соединений в указанный файл |
|
|
|
Активирует проверку статуса сертификатов через OCSP. Параметр |
|
|
|
Настраивает кеш для хранения результатов проверки статуса сертификатов через OCSP |
|
— |
|
Переопределяет URL сервера OCSP для проверки статуса сертификатов |
|
— |
|
Указывает файл с паролями для доступа к приватным ключам, где каждый пароль записан на отдельной строке |
|
|
|
Устанавливает приоритет шифров, предложенных сервером, над клиентскими при использовании SSLv3 и TLS |
|
|
|
Разрешает использование указанных протоколов. Доступные опции зависят от версии OpenSSL |
|
|
|
Если включено, отклоняет попытки установления SSL-соединения в блоке |
|
|
|
Настраивает тип и размер кеша для хранения параметров SSL-сессий |
|
— |
|
Указывает файл с ключом для шифрования и дешифрования TLS session tickets |
|
|
|
Включает или отключает возможность возобновления сессий с использованием TLS session tickets |
|
|
|
Устанавливает срок действия параметров SSL-сессии, в течение которого клиент может их повторно использовать |
|
|
|
Включает или отключает прикрепление OCSP-ответов к сертификатам сервера |
|
— |
|
Задает получение OCSP-ответов из файла |
|
— |
|
Переопределяет URL сервера OCSP, указанный в расширении сертификата |
|
|
|
Включает или отключает проверку сервером OCSP-ответов |
|
— |
|
Задает файл с сертификатами доверенных центров сертификации (CA) в формате PEM для проверки клиентских сертификатов и OCSP-ответов |
|
|
|
Включает проверку клиентских сертификатов. Результат проверки доступен через переменную |
|
|
|
Настраивает глубину проверки в цепочке клиентских сертификатов |
Встроенные переменные#
Модуль ngx_http_ssl_module предоставляет набор встроенных переменных, таких как:
$ssl_cipher— название алгоритма шифрования, используемого в текущем SSL-соединении;$ssl_protocol— версия протокола, используемого для установления SSL-соединения;$ssl_client_verify— результат проверки клиентского сертификата:SUCCESS- в случае успеха,FAILED:reason- при ошибке,NONE— если сертификат не был предоставлен;$ssl_session_id— идентификатор сессии текущего SSL-соединения;$ssl_session_reused—r— если сессия была повторно использована,.— если нет;$ssl_server_name— имя сервера, запрошенное через SNI (Server Name Indication);$ssl_client_cert— клиентский сертификат в формате PEM для установленного SSL-соединения;$ssl_client_serial— серийный номер клиентского сертификата, используемого в SSL-соединении;
и другие.