Ваше подключение не защищено. NET::ERR_CERT_COMMON_NAME_INVALID
#Что проверяет браузер
Сертификат выдаётся на конкретные имена: они перечислены в поле Subject Alternative Name (SAN). Современные браузеры сверяют адрес только с SAN, поле Common Name (CN) давно игнорируется. Если вы открыли www.example.com, а сертификат выпущен только на example.com, браузер покажет ошибку. То же верно для поддоменов: сертификат на example.com не покрывает shop.example.com, а подстановочный *.example.com покрывает один уровень поддоменов, но не сам example.com и не a.b.example.com.
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет имени www в сертификатеВыпущен только на домен без www. | Ошибка при заходе на www. | Перевыпустите сертификат с обоими именами или настройте редирект с www на основной домен (редирект тоже требует сертификата). |
| Сертификат не от того виртуального хостаСервер отдаёт сертификат по умолчанию. | В openssl s_client с -servername всё верно, без него — нет. | Проверьте директивы server_name и ssl_certificate для каждого домена. |
| Домен перенаправлен на другой серверDNS указывает на чужой IP. | Сертификат принадлежит другому сайту. | Исправьте A/AAAA записи. |
| Заход по IP-адресуСертификаты на IP почти не выдаются. | Ошибка при открытии https://203.0.113.5. | Используйте домен. |
Поддомен вне подстановочного*.example.com не покрывает a.b.example.com. | Ошибка на поддомене второго уровня. | Выпустите отдельный сертификат. |
| CDN или хостинг с общим сертификатомДомен ещё не подключён к сертификату. | Ошибка сразу после подключения домена. | Включите выпуск SSL в панели и подождите. |
#Для посетителя
- Проверьте адресЩёлкните адресную строку браузера (
Ctrl+L), внимательно проверьте написание домена и его зону, отсутствие пробелов, лишних точек и похожих символов. При необходимости откройте адрес из официального источника вручную, а не из подозрительного сообщения. Если сайт использует HTTPS, не убирайтеhttps://ради обхода ошибки сертификата. Когда адрес верен, попробуйте открыть главную страницу того же домена, чтобы отличить ошибку ссылки от общей недоступности. - Попробуйте вариант с www или безВ адресной строке последовательно откройте
https://example.comиhttps://www.example.com, заменив домен на реальный. Если одно имя открывается корректно, а для другого браузер показывает ERR_CERT_COMMON_NAME_INVALID, это признак того, что сертификат не охватывает оба имени. Не вводите пароль на варианте с ошибкой; сообщите администратору, какой адрес и какое имя указаны в сертификате. - Проверьте дату и времяНажмите Win+I, откройте «Время и язык → Дата и время». Проверьте текущий часовой пояс, включите «Устанавливать время автоматически» и нажмите «Синхронизировать», если кнопка доступна. Закройте программу и снова выполните действие, которое вызывало ошибку. Если время снова сбивается после выключения ПК, проверьте батарейку BIOS/UEFI.
- Посмотрите сертификатНажмите на значок слева от адреса → «Подключение защищено / не защищено» → «Сертификат» → вкладка «Состав» → «Альтернативное имя субъекта».
- Проверьте, не перехватывает ли сетьСравните предупреждение о сертификате при открытии того же HTTPS-сайта через домашний Wi-Fi и мобильную сеть. Посмотрите издателя сертификата через значок сведений о соединении: неожиданное имя организации или защитного продукта может указывать на перехват HTTPS. Не добавляйте неизвестный корневой сертификат и не игнорируйте предупреждение; на рабочей сети уточните правила у администратора, в публичной — откажитесь от ввода паролей до восстановления доверенного соединения.
- Сообщите владельцу сайтаСохраните точный URL, время появления ошибки, код HTTP и сведения о том, воспроизводится ли она с другой сети. Найдите официальную страницу контактов или поддержки сайта и передайте эти данные без паролей и снимков личной информации. При ошибке 502/503/504 посетитель не может перезапустить веб-сервер; если сбой у всех пользователей, проверку должен выполнять владелец. При срочной операции уточните у поддержки безопасную альтернативу.
#Для владельца: диагностика
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -ext subjectAltNameecho | openssl s_client -connect example.com:443 -servername example.com -verify_hostname www.example.com 2>/dev/null | grep -E "Verification|Verify return"sudo certbot certificatesПараметр -servername важен: без него сервер отдаст сертификат по умолчанию и проверка покажет не то, что видит браузер.
#Как исправить
sudo certbot --nginx -d example.com -d www.example.comsudo certbot --nginx --expand -d example.com -d www.example.com -d shop.example.comПосле выпуска перезагрузите веб-сервер (sudo systemctl reload nginx) и проверьте домен в SSL Labs: в отчёте будет блок «Certificate #1» со списком Alternative names. Браузер может помнить старое состояние: откройте сайт в режиме инкогнито.