ssl_certificate_key
Директива ssl_certificate_key указывает файл приватного ключа, используемый для шифрования SSL/TLS в NGINX. — NGINX HTTP Core
Описание
Директива ssl_certificate_key является критически важной настройкой при конфигурации защищённых HTTPS-соединений в NGINX. Эта директива позволяет пользователю указать файл, который содержит приватный ключ, соответствующий SSL-сертификату, определённому в директиве ssl_certificate. Она обеспечивает, что NGINX может устанавливать защищённые SSL/TLS-сессии, расшифровывая данные, отправляемые клиентами, и предоставляя безопасный уровень для передачи данных через интернет. На практике директива ssl_certificate_key принимает один аргумент — путь к файлу приватного ключа. Контекст, в котором можно использовать эту директиву, — внутри блоков 'http' или 'server', что позволяет задавать её глобально или для конкретного виртуального сервера. Важно убедиться, что файл приватного ключа имеет правильные права доступа: он должен быть доступен процессу NGINX, но при этом оставаться защищённым от несанкционированного доступа, чтобы предотвратить утечку конфиденциальной информации. Неправильная настройка этой директивы может привести к сбоям SSL-рукопожатия и ошибкам, таким как "SSL_CTX_use_PrivateKey_file() failed". Поэтому необходимо проверить, что приватный ключ соответствует указанному сертификату и оба корректно настроены в конфигурационных файлах NGINX.
Пример конфига
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
}Закрытый ключ должен соответствовать связанному SSL-сертификату.
Убедитесь, что процесс NGINX имеет права на чтение файла закрытого ключа.
Использование закрытого ключа, защищённого паролем, может потребовать дополнительной настройки.