Apache Linux

Apache: AH01909 — сертификат не соответствует ServerName

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

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

Apache AH01909 сообщает, что имя в сертификате не совпадает с ожидаемым ServerName для TLS-виртуального хоста. Сравните ServerName, ServerAlias, SAN сертификата и фактический SNI-запрос, затем запустите apachectl configtest.

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

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

Сообщение
AH01909

Apache AH01909 сообщает, что имя в сертификате не совпадает с ожидаемым ServerName для TLS-виртуального хоста. Сначала проверьте конкретный VirtualHost.

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

Возможная причинаКак узнатьЧто делать
ДоменСравните момент появления признака «Домен» с тем, когда ранее работала нужная функция. Важно сопоставить проверку с исходным симптомом, а не с догадкой.Исправляйте только подтверждённый фактор «Домен», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие.
ServerNameСравните момент появления признака «ServerName» с тем, когда ранее работала нужная функция. Учитывайте версию Apache и условия сбоя.Исправляйте только подтверждённый фактор «ServerName», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата.
СертификатСверьте точное имя, действующий отпечаток и источник доверия: несоответствие сертификата или подписи должно подтверждаться журналом, а не предположением. Учитывайте версию Apache и условия сбоя.Для случая «Apache: AH01909 — сертификат не соответствует ServerName» обновите сертификат, цепочку доверия или подписанный компонент только через официального владельца; не заменяйте исправление отключением проверки безопасности. Для проверки результата повторите только прежнее действие.
SNIСравните момент появления признака «SNI» с тем, когда ранее работала нужная функция. Учитывайте версию Apache и условия сбоя.Исправляйте только подтверждённый фактор «SNI», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата.

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

  1. Зафиксируйте ошибку и проверьте условияПо SSH выполните sudo apachectl -S и найдите виртуальный хост HTTPS, который сообщает AH01909, затем сравните имя ServerName/ServerAlias с именами в сертификате. Предупреждение означает, что предоставленный сертификат не покрывает конфигурационное имя; не игнорируйте его, если клиенты получают ошибку TLS.
  2. Выполните основную проверку и исправлениеПроверьте сертификат, на который указывает SSLCertificateFile, через openssl x509 -in /реальный/путь/fullchain.pem -noout -subject -ext subjectAltName. В нём должно присутствовать соответствующее DNS-имя; один сертификат для example.com не обязательно подходит www.example.com, если второго имени нет в SAN.
  3. Исключите другие подтверждённые причиныЕсли сертификат неправильный, получите новый для всех необходимых имён у доверенного удостоверяющего центра и настройте его в соответствующем виртуальном хосте. Не переименовывайте ServerName в случайное имя ради исчезновения предупреждения и не отключайте SNI: это нарушит правильную выдачу сертификатов.
  4. Проверьте, действительно ли проблема решенаСохраните конфигурацию, выполните sudo apachectl configtest и согласованный reload Apache. Проверьте результат с компьютера через openssl s_client -connect домен:443 -servername домен и в браузере; убедитесь, что сертификат выбран по нужному имени и AH01909 исчез.

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

Не отключайте проверку TLS и не подменяйте сертификат соседнего домена. Перед перезагрузкой Apache сохраните действующий конфиг.

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

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

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