Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

SSL_CHAIN_INCOMPLETE Linux / DevOps

Траблшутинг ошибок mod_ssl в Apache: проверка валидности цепочек сертификатов

Обновлено: 21.08.2026
  • Браузеры или мобильные клиенты выдают предупреждение: SEC_ERROR_UNKNOWN_ISSUER или SSL Certificate problem: unable to get local issuer certificate.
  • В error.log Apache появляется ошибка: AH02570: Failed to configure CA certificate chain!.
  • Служба Apache не может запуститься: SSL Library Error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch.

1. Проверка соответствия приватного ключа и сертификата

Убедитесь, что md5-хеши модуля публичного ключа и сертификата идентичны:

openssl x509 -noout -modulus -in /etc/ssl/certs/site.crt | openssl md5
openssl rsa -noout -modulus -in /etc/ssl/private/site.key | openssl md5

2. Корректная настройка цепочки SSL в Apache 2.4.8+

В современных версиях Apache 2.4.8+ директива SSLCertificateChainFile устарела. Промежуточные сертификаты (CA Intermediate) объединяются в единый файл fullchain:

# Склейка сертификата сайта и промежуточных CA
cat site.crt intermediate.crt root.crt > /etc/ssl/certs/site_fullchain.crt

В конфигурации VirtualHost (порт 443):

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html

    SSLEngine on
    # Файл, содержащий сертификат сервера И цепочку CA:
    SSLCertificateFile /etc/ssl/certs/site_fullchain.crt
    SSLCertificateKeyFile /etc/ssl/private/site.key

    # Только современные протоколы
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
</VirtualHost>

3. Проверка цепочки сертификатов онлайн через OpenSSL s_client

openssl s_client -connect example.com:443 -servername example.com < /dev/null | grep -A 5 "Certificate chain"

4. Валидация и перезапуск

apachectl configtest && systemctl restart apache2
💡 Практика специалистов: Если используется Apache версии ниже 2.4.8, используйте раздельную директиву: SSLCertificateFile для основного сертификата и SSLCertificateChainFile для промежуточного бандла ca-bundle.

Частые вопросы (FAQ)

Почему сайт открывается на десктопе, но выдает ошибку SSL на смартфонах?

Десктопные браузеры часто используют AIA Fetching (автоматически скачивают недостающие промежуточные сертификаты из сети) или берут их из локального кэша. Мобильные клиенты этого не делают и требуют отдачи полной цепочки (fullchain) от веб-сервера.

Что делать, если ключ защищен паролем (Passphrase)?

Снимите защиту паролем с ключа, чтобы Apache мог стартовать без ручного ввода пароля: openssl rsa -in protected.key -out unprotected.key.

Полезные материалы
Рекомендуем