Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
Apache Error: AH01909: RSA server certificate: does NOT include ID which matches server name Linux / DevOps

Apache Error AH01909: RSA certificate does NOT include ID — Решение

Обновлено: 18.08.2026  ·  Официальная база знаний

При запуске веб-сервера с модулем mod_ssl в системном логе error.log фиксируется предупреждение о несоответствии имен: [ssl:warn] [pid 1234:tid 5678] AH01909: RSA server certificate: does NOT include ID which matches server name 'web01.example.com'.

ПараметрЗначение в конфигурацииЗначение в сертификате (SAN / CN)
Директива ServerNameweb01.example.comexample.com, www.example.com
Директива ServerAliasapi.example.comОтсутствует в Subject Alternative Name
Результат в браузереПодключение к сайтуПредупреждение NET::ERR_CERT_COMMON_NAME_INVALID
  • Apache сообщает, что доменное имя, указанное в директиве ServerName виртуального хоста, не совпадает ни с одним именем из полей CN (Common Name) или SAN (Subject Alternative Name) SSL-сертификата.
  • Браузеры блокируют вход на сайт, помечая соединение как незащищенное.
  1. Проверьте список доменных имен, для которых фактически выпущен ваш SSL-сертификат:
    openssl x509 -in /etc/ssl/certs/site.crt -noout -text | grep -A 1 "Subject Alternative Name"
  2. Откройте конфигурационный файл SSL виртуального хоста (/etc/apache2/sites-available/site-ssl.conf).
  3. Убедитесь, что директива ServerName и псевдонимы ServerAlias строго соответствуют именам из вывода OpenSSL:
    <VirtualHost *:443>
        ServerName example.com
        ServerAlias www.example.com
    
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    </VirtualHost>
  4. Если вам необходимо обслуживать новое доменное имя, перевыпустите SSL-сертификат с включением нужного поддомена в список SAN:
    # Пример для Certbot Let's Encrypt:
    sudo certbot --apache -d example.com -d www.example.com -d web01.example.com
  5. Проверьте синтаксис конфигурации и примените настройки:
    sudo apache2ctl configtest && sudo systemctl reload apache2
Отказ от Common Name (CN): Современные стандарты безопасности и браузеры (Chrome, Firefox, Safari) полностью игнорируют поле Common Name (CN) и сверяют имя хоста исключительно со списком Subject Alternative Name (SAN). Всегда указывайте SAN при генерации CSR и сертификатов.
Практический опыт инженера: Если на одном IP-адресе хостится несколько SSL-сайтов, убедитесь, что в каждом блоке `` прописан свой уникальный `ServerName` для корректной маршрутизации через механизм SNI.

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

Является ли AH01909 фатальной ошибкой?

Нет, это предупреждение уровня [warn]. Apache продолжит работу и отдаст сертификат клиенту, но если домен в адресной строке не совпадет с сертификатом, клиент увидит ошибку в браузере.

Что такое Wildcard сертификат и решает ли он проблему AH01909?

Wildcard сертификат выпускается для маски *.example.com и автоматически покрывает любые поддомены первого уровня (app.example.com, test.example.com), предотвращая подобные ошибки.

Почему AH01909 указывает на дефолтный localhost?

Если в блоке <VirtualHost *:443> не была задана директива ServerName, Apache берет имя хоста сервера из глобальной директивы ServerName или /etc/hosts.

Как проверить соответствие приватного ключа и сертификата?

Сравните их контрольные суммы md5: openssl x509 -noout -modulus -in cert.crt | openssl md5 и openssl rsa -noout -modulus -in key.key | openssl md5.