Skip to content
EN

SSL_ERROR_BAD_CERT_DOMAIN: Firefox-аналог CN_INVALID

Коротко:

SSL_ERROR_BAD_CERT_DOMAIN — ошибка Firefox, аналог Chrome-ошибки ERR_CERT_COMMON_NAME_INVALID. SSL-сертификат не покрывает текущий домен. Решение то же: перевыпустить сертификат с нужным Subject Alternative Name или использовать wildcard.

Эта ошибка часто встречается в дебаггинге SSL. Разбираем причины и даём пошаговое решение.

Проверить SSL своего сайта →

Что означает SSL_ERROR_BAD_CERT_DOMAIN

SSL_ERROR_BAD_CERT_DOMAIN — ошибка Firefox, аналог Chrome-ошибки ERR_CERT_COMMON_NAME_INVALID. SSL-сертификат не покрывает текущий домен. Решение то же: перевыпустить сертификат с нужным Subject Alternative Name или использовать wildcard.

Ошибка может появиться в Chrome, Edge, Opera, Brave (все на Chromium) и частично в Firefox и Safari. Разные браузеры отображают один и тот же код по-разному — но суть одна.

Как исправить (пошагово)

  1. Проверьте SSL-сертификат онлайнчекер Enterno.io покажет грейд, срок действия, цепочку и конкретную причину.
  2. Если проблема на стороне сервера — перевыпустите сертификат через certbot или выбранного CA.
  3. Обновите nginx/apache конфигурацию (настройте TLS 1.2/1.3, fullchain, правильные ciphers).
  4. Проверьте kernel OpenSSL — устаревший openssl < 1.1 может ломать handshake.
  5. После деплоя: проверьте ещё раз через SSL-чекер + очистите browser SSL-cache.

Проверить SSL сейчас →

Смежные SSL-ошибки

Что такое ошибка SSL_ERROR_BAD_CERT_DOMAIN?

Ошибка SSL_ERROR_BAD_CERT_DOMAIN возникает, когда имя домена, к которому вы пытаетесь подключиться, не совпадает с именем, указанным в SSL-сертификате. Чтобы исправить эту ошибку, убедитесь, что сертификат установлен для правильного домена, или обновите сертификат, если вы изменили доменное имя. Проверьте конфигурацию сервера и соответствие сертификата с помощью команд, таких как openssl s_client -connect yourdomain.com:443.

Как проверить SSL-сертификат на соответствие домену

Для диагностики ошибки SSL_ERROR_BAD_CERT_DOMAIN вы можете использовать утилиту openssl. Выполните следующую команду в терминале:

openssl s_client -connect yourdomain.com:443

Эта команда установит соединение с сервером и выведет информацию о сертификате. Внимательно проверьте строки subject и issuer, чтобы убедиться, что имя домена совпадает с указанным в сертификате.

Также вы можете использовать онлайн-сервисы, такие как SSL Checker, чтобы проверить сертификат и его соответствие домену. Если вы обнаружили несоответствие, вам необходимо либо обновить сертификат, либо изменить настройки сервера.

Исправление ошибки SSL_ERROR_BAD_CERT_DOMAIN

Для исправления ошибки SSL_ERROR_BAD_CERT_DOMAIN выполните следующие шаги:

  1. Проверьте сертификат: Убедитесь, что сертификат выдан для вашего домена. Если вы используете поддомен, убедитесь, что сертификат поддерживает его (например, сертификат для *.yourdomain.com охватывает все поддомены).
  2. Обновите сертификат: Если ваш домен изменился, получите новый сертификат, выпущенный для нового доменного имени. Это можно сделать через вашего хостинг-провайдера или центр сертификации.
  3. Настройте сервер: Перейдите в конфигурацию веб-сервера (например, nginx или Apache) и убедитесь, что правильный сертификат используется для вашего домена. Пример конфигурации для nginx:
server {
    listen 443 ssl;
    server_name yourdomain.com;
    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;
}

Перезагрузите веб-сервер после внесения изменений, используя команды sudo systemctl restart nginx или sudo systemctl restart apache2.

После выполнения этих шагов проверьте, исчезла ли ошибка, снова запустив команду openssl s_client -connect yourdomain.com:443.

TL;DR: Как исправить ошибку SSL_ERROR_BAD_CERT_DOMAIN

Ошибка SSL_ERROR_BAD_CERT_DOMAIN возникает, когда SSL-сертификат не соответствует доменному имени, к которому вы пытаетесь подключиться. Чтобы исправить эту ошибку, убедитесь, что ваш сертификат выдан для правильного домена. Проверьте настройки вашего сервера и обновите сертификат, если необходимо, с помощью команды certbot certonly --standalone -d example.com для получения нового сертификата.

Проверка конфигурации SSL-сертификата

Перед тем как исправить ошибку SSL_ERROR_BAD_CERT_DOMAIN, важно убедиться, что ваш SSL-сертификат правильно настроен. Это можно сделать с помощью различных инструментов и команд. Например, вы можете использовать команду openssl s_client -connect example.com:443 для проверки сертификата на наличие ошибок. Эта команда покажет вам информацию о сертификате, включая его владельца и срок действия.

Важно также проверить, соответствует ли домен, для которого вы получили сертификат, его содержимому. Если ваш сертификат выдан для www.example.com, а вы обращаетесь к example.com, это может вызвать ошибку. Используйте certbot для получения сертификата, который охватывает оба варианта домена, добавив -d www.example.com -d example.com.

Проверка через онлайн-сервисы

Существует множество онлайн-сервисов для проверки сертификатов, например, SSL Shopper или SSL Labs. Эти сервисы предоставляют подробную информацию о вашем сертификате, включая его соответствие домену и наличие других возможных проблем.

Использование командной строки для диагностики

Вы также можете использовать инструменты командной строки для диагностики проблемы. Например, команда curl -v https://example.com покажет подробную информацию о соединении, включая ошибки сертификата. Если вы видите сообщение о несоответствии домена, это указывает на проблему с сертификатом.

Обновление сертификата

Если вы обнаружили, что сертификат выдан не на тот домен, вам необходимо его обновить. Для этого выполните следующие шаги:

  1. Сначала удалите старый сертификат с помощью команды certbot delete.
  2. Затем получите новый сертификат, используя команду certbot certonly --standalone -d yourdomain.com -d www.yourdomain.com.
  3. После получения нового сертификата перезапустите веб-сервер с помощью команды systemctl restart nginx или systemctl restart apache2, в зависимости от вашего сервера.

После выполнения этих шагов ошибка SSL_ERROR_BAD_CERT_DOMAIN должна исчезнуть. Если проблема сохраняется, проверьте конфигурацию вашего веб-сервера и убедитесь, что он правильно указывает на новый сертификат.

СертификатСрок, издатель, домены (SAN)
ЦепочкаПроверка промежуточных и корневых CA
TLS-протоколВерсия TLS и набор шифров
УязвимостиHeartbleed, POODLE, слабые шифры

Почему нам доверяют

TLS 1.3
поддержка
Полная
цепочка CA
<2с
результат
30/14/7
дней до истечения

Как это работает

1

Введите домен

2

Проверка цепочки TLS

3

Дата истечения и уязвимости

Что проверяет SSL-тест?

SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.

Детали сертификата

Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).

Цепочка доверия

Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.

Анализ TLS

Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).

Оповещения об истечении

Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.

DV vs OV vs EV сертификаты

DV (Domain Validation)
  • Подтверждение только владения доменом
  • Выдаётся за минуты автоматически
  • Бесплатно через Let's Encrypt
  • Подходит для большинства сайтов
  • Самый распространённый тип
OV / EV
  • Проверка организации (OV) или расширенная проверка (EV)
  • Выдаётся за 1-5 рабочих дней
  • Стоимость от $50 до $500/год
  • Для финансов, e-commerce, госсайтов
  • Повышает доверие пользователей

Кому это нужно

DevOps

мониторинг SSL-сертификатов

Безопасность

аудит TLS-конфигурации

SEO

HTTPS как фактор ранжирования

E-commerce

доверие покупателей

Частые ошибки

Истёкший сертификатБраузеры блокируют сайт с истёкшим SSL. Настройте автопродление или мониторинг.
Неполная цепочка сертификатовБез промежуточного CA некоторые браузеры и боты не смогут верифицировать сертификат.
Mixed content на HTTPS-сайтеHTTP-ресурсы на HTTPS-странице — замок в браузере пропадает, снижается доверие.
Использование TLS 1.0/1.1Устаревшие версии TLS содержат известные уязвимости. Используйте TLS 1.2+ или 1.3.
Несовпадение домена в сертификатеСертификат должен покрывать все домены сайта, включая www и поддомены.

Лучшие практики

Настройте автопродлениеLet's Encrypt + certbot с cron — сертификат обновляется автоматически каждые 60-90 дней.
Включите HSTSЗаголовок Strict-Transport-Security заставляет браузер всегда использовать HTTPS.
Используйте TLS 1.3TLS 1.3 быстрее (1-RTT handshake) и безопаснее — убраны устаревшие шифры.
Мониторьте срок действияСоздайте монитор на Enterno.io — получайте уведомления задолго до истечения.
Проверяйте цепочку после обновленияПосле обновления сертификата убедитесь, что промежуточные сертификаты установлены.

Получите больше с бесплатным аккаунтом

Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.

Зарегистрироваться (FREE)

Больше по теме

Источники

Часто задаваемые вопросы

Безопасно ли игнорировать SSL_ERROR_BAD_CERT_DOMAIN?

Нет. Эта ошибка означает реальную проблему с SSL-сертификатом. Игнорирование (через chrome://flags или "thisisunsafe") делает соединение уязвимым к man-in-the-middle. Исправляйте на стороне сервера.

Как проверить наличие этой ошибки заранее?

Используйте <a href="/ssl">SSL/TLS-чекер Enterno.io</a> или <a href="/monitors">настройте мониторинг</a> с алертом за 14 дней до истечения сертификата. Получите email/Telegram-уведомление до того, как пользователи увидят ошибку.

Помогает ли очистка cookies / cache?

Иногда — для промежуточных кэшированных ошибок SSL. Шаги: chrome://net-internals/#sockets → Flush sockets, chrome://net-internals/#hsts → Delete domain security policies (осторожно, только для debug). Но если проблема на сервере — очистка cache не поможет.

Let's Encrypt бесплатный — и сертификат валидный?

Да, Let's Encrypt сертификаты во всех современных trust stores (Chrome, Firefox, Safari, Edge). 90-дневный срок действия с автопродлением через certbot. Нет причин использовать платный CA для стандартного сайта.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.