Nginx Linux

Nginx: key values mismatch — несовпадение сертификата и ключа

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Nginx key values mismatch при запуске TLS означает, что приватный ключ и сертификат не являются парой. Сверьте пути ssl_certificate и ssl_certificate_key, затем проверьте соответствие публичных ключей через openssl и выполните nginx -t до перезагрузки.

В этой статье
  1. Что означает сообщение
  2. Как отличить причины
  3. Пошаговое решение
  4. Что важно перед исправлением

#Что означает сообщение

Сообщение
Key values mismatch

Nginx key values mismatch при запуске TLS означает, что приватный ключ и сертификат не являются парой. Сначала определите, какой server-блок и файлы использует сайт.

#Как отличить причины

Возможная причинаКак узнатьЧто делать
Не та параСравните момент появления признака «Не та пара» с тем, когда ранее работала нужная функция. Важно сопоставить проверку с исходным симптомом, а не с догадкой.Исправляйте только подтверждённый фактор «Не та пара», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие.
Неполная цепочкаСравните момент появления признака «Неполная цепочка» с тем, когда ранее работала нужная функция. Учитывайте версию Nginx и условия сбоя.Исправляйте только подтверждённый фактор «Неполная цепочка», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата.
ФорматСравните момент появления признака «Формат» с тем, когда ранее работала нужная функция. Учитывайте версию Nginx и условия сбоя.Исправляйте только подтверждённый фактор «Формат», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие.
Старый файлПри диагностике «Nginx: key values mismatch — несовпадение сертификата и ключа» уточните, какой файл, каталог или запись вызывает отказ, и сравните время её изменения с началом ошибки. Учитывайте версию Nginx и условия сбоя.Для случая «Nginx: key values mismatch — несовпадение сертификата и ключа» исправляйте целевой файл или запись и оставляйте исходник на случай отката. Изменения вносите по одному, с возможностью возврата.

#Пошаговое решение

  1. Зафиксируйте ошибку и проверьте условияВыполните sudo nginx -t и запишите путь к сертификату и ключу из строки key values mismatch. Не перезапускайте Nginx с непроверенной конфигурацией. Это означает, что открытый сертификат и закрытый ключ не образуют пару, даже если имена файлов выглядят похожими.
  2. Выполните основную проверку и исправлениеУбедитесь, какие файлы реально указаны в ssl_certificate и ssl_certificate_key нужного блока server, учитывая символьные ссылки и возможные старые копии. Не пересылайте приватный ключ в переписке и не размещайте его в публичном каталоге сайта.
  3. Исключите другие подтверждённые причиныСравните открытые ключи, не выводя секрет: openssl x509 -in /путь/cert.pem -pubkey -noout | openssl pkey -pubin -outform DER | openssl dgst -sha256 и openssl pkey -in /путь/key.pem -pubout -outform DER | openssl dgst -sha256. Контрольные суммы должны совпасть; если нет, найдите соответствующую пару в резервной копии либо перевыпустите сертификат.
  4. Проверьте, действительно ли проблема решенаПеред заменой сохраните рабочие пути и права, затем укажите корректную пару и полный комплект промежуточных сертификатов, если он требуется. Проверьте sudo nginx -t, примените sudo systemctl reload nginx и с другого компьютера откройте домен по HTTPS. Убедитесь в нужном домене, сроке действия и отсутствии предупреждений TLS.

#Что важно перед исправлением

Не отправляйте закрытый ключ в интернет-сервисы проверки. При утрате ключа потребуется новый сертификат, а не попытка подобрать старый.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.