ssl_dhparam

Указывает параметры DH для обмена ключами Диффи-Хеллмана в SSL/TLS‑соединениях. — NGINX HTTP Core

ssl_dhparam
httpserver
Синтаксисssl_dhparam path;
По умолчаниюnone
Контекстhttp, server
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `ssl_dhparam` настраивает параметры Диффи-Хеллмана (DH), которые будут использоваться во время SSL/TLS‑рукопожатий для защищённых соединений. Параметры DH имеют решающее значение для установления безопасного обмена ключами между сервером и клиентами, особенно при использовании определённых наборов шифров, требующих их наличия. Использование пользовательского файла параметров DH позволяет администраторам задать надёжную длину ключа, повышая защиту от потенциальных атак. Директива принимает один аргумент — путь к файлу, содержащему параметры DH, обычно в формате PEM. Когда задан `ssl_dhparam`, NGINX будет использовать указанные параметры DH для всех новых SSL‑соединений, которым требуется обмен ключами DH. Директива применима в контекстах `http` и `server`, что делает её универсальной для задания параметров DH глобально или на уровне отдельного сервера. Важно убедиться, что файл с параметрами DH корректно настроен и доступен процессу NGINX, поскольку в противном случае это может привести к сбоям при SSL‑рукопожатиях. На практике обычно создают сильный файл параметров DH с помощью таких инструментов, как OpenSSL, и рекомендуется регулярно обновлять эти параметры для поддержания высокого уровня безопасности. Длина параметров должна быть, по возможности, не менее 2048 бит для современных требований безопасности, хотя более длинные параметры могут увеличить вычислительную нагрузку в процессе рукопожатия.

Пример конфига

server {
    listen 443 ssl;
    ssl_certificate /path/to/certificate.pem;
    ssl_certificate_key /path/to/privatekey.pem;
    ssl_dhparam /path/to/dhparams.pem;
}

Убедитесь, что файл DH parameters существует и доступен процессу NGINX, чтобы избежать ошибок SSL handshake.

Использование недостаточно сильных DH parameters может привести к уязвимостям; предпочитайте параметры не менее 2048 bits.

Изменения в DH parameters требуют перезагрузки NGINX, чтобы вступить в силу.