ssl_ecdh_curve

Задает кривую для ECDH (Elliptic Curve Diffie-Hellman) обмена ключами в сессиях SSL/TLS. — NGINX HTTP Core

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

Описание

Директива `ssl_ecdh_curve` в NGINX используется для указания эллиптических кривых, предпочитаемых для ECDH-обмена ключами в соединениях SSL/TLS. ECDH — это механизм обмена ключами, который позволяет двум сторонам установить общий секрет по небезопасному каналу связи, который затем может быть использован для симметричного шифрования. Эта директива особенно важна при настройке защищённых соединений, поскольку выбор эллиптических кривых может влиять как на безопасность, так и на производительность. Значение, задаваемое с помощью `ssl_ecdh_curve`, может быть конкретным названием кривой или списком кривых. NGINX поддерживает различные стандартные кривые, и сервер будет использовать первую кривую из списка, которую поддерживают и сервер, и клиент. Важно выбирать надёжные, широко поддерживаемые кривые, чтобы обеспечить максимальную совместимость и безопасность. Эта директива может быть установлена в контексте `http` или `server`, влияя на все блоки, где включён SSL. Неправильная конфигурация, например указание слабых кривых, может привести к уязвимостям в TLS‑соединениях, устанавливаемых сервером.

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

server {
    listen       443 ssl;
    server_name  example.com;
    ssl_certificate     server.crt;
    ssl_certificate_key server.key;
    ssl_ecdh_curve    secp384r1; 
}

Убедитесь, что SSL включён перед использованием этой директивы; иначе она не будет иметь эффекта.

Использование неподдерживаемых кривых может привести к сбоям соединения или переключению на более слабые методы.

Учтите совместимость со старыми клиентами, которые могут не поддерживать современные кривые.