Knowledge Base
Диагностика ERR_CERT_COMMON_NAME_INVALID
Почему возникает ошибка
Категория: SSL/TLS · Риск: low
Почему возникает ошибка
Современные браузеры (Chrome с 2017, Firefox аналогично) **игнорируют CN** и проверяют только **SAN (Subject Alternative Names)**. Если домен, к которому вы обращаетесь, отсутствует в SAN — браузер блокирует соединение.
Частые причины
| Причина | Решение | |---------|---------| | Сертификат выдан только на `example.com`, а обращение идёт на `www.example.com` | Перевыпустить с обоими доменами | | IP в URL, а в SAN только доменное имя | Добавить `IP:x.x.x.x` в SAN | | Сертификат для `api.example.com`, а запрос на `api2.example.com` | Wildcard или отдельный сертификат | | CDN подставляет свой сертификат, но не настроен для вашего домена | Добавить домен в настройки CDN |
Как перевыпустить сертификат с нужными SAN
# Let's Encrypt — добавить оба домена
certbot certonly --nginx \
-d example.com \
-d www.example.com \
-d api.example.com
# Проверить результат
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem \
-noout -ext subjectAltName
Wildcard-сертификат
# Wildcard покрывает *.example.com (один уровень)
certbot certonly --manual \
--preferred-challenges dns \
-d example.com \
-d "*.example.com"
> **Важно:** `*.example.com` не покрывает `sub.sub.example.com` — нужен отдельный wildcard второго уровня.