Ошибки SSL-сертификатов не позволяют посетителям безопасно зайти на ваш сайт. Это руководство охватывает каждый распространённый код ошибки, его значение и способ исправления — независимо от того, являетесь ли вы посетителем или владельцем сайта.
Для самой распространённой ошибки смотрите наше специальное руководство: Исправление ошибки “Ваше подключение не является приватным” →
Справочная таблица ошибок
| Код ошибки (Chrome) | Эквивалент в Firefox | Значение | Исправление |
|---|---|---|---|
NET::ERR_CERT_DATE_INVALID | SEC_ERROR_EXPIRED_CERTIFICATE | Сертификат просрочен | Обновить сертификат |
NET::ERR_CERT_COMMON_NAME_INVALID | SSL_ERROR_BAD_CERT_DOMAIN | Домен не совпадает с сертификатом | Получить сертификат для правильного домена |
NET::ERR_CERT_AUTHORITY_INVALID | SEC_ERROR_UNKNOWN_ISSUER | Самоподписанный или недоверенный CA | Использовать Let’s Encrypt |
NET::ERR_CERT_REVOKED | SEC_ERROR_REVOKED_CERTIFICATE | Сертификат отозван | Получить новый сертификат |
NET::ERR_SSL_PROTOCOL_ERROR | SSL_ERROR_RX_RECORD_TOO_LONG | Ошибка TLS-рукопожатия | Проверить конфигурацию сервера |
NET::ERR_SSL_VERSION_OR_CIPHER_MISMATCH | SSL_ERROR_NO_CYPHER_OVERLAP | Нет общей версии TLS/шифра | Включить TLS 1.2+ |
ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN | — | HPKP-пин не совпадает | Обновить или удалить HPKP-пины |
ERR_CERTIFICATE_TRANSPARENCY_REQUIRED | — | Отсутствует запись в CT-логе | Перевыпустить от CA с поддержкой CT |
Подробные решения ошибок
ERR_CERT_DATE_INVALID — Сертификат просрочен
Причина: Дата Not After сертификата прошла. С 90-дневными сертификатами Let’s Encrypt это происходит, если вы забыли обновить.
Решение для посетителя: Проверьте дату и время на вашем устройстве — если часы неправильные, действительные сертификаты выглядят как просроченные.
Решение для владельца:
# Check the actual expiry
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate
Обновите немедленно, замените файлы, перезагрузите сервер. Настройте мониторинг, чтобы предотвратить это в будущем.
ERR_CERT_COMMON_NAME_INVALID — Несоответствие домена
Причина: Сертификат был выпущен для example.com, но вы заходите на www.example.com (или наоборот), или сертификат покрывает совсем другой домен.
Решение для владельца:
# Check which domains the certificate covers
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -ext subjectAltName
Получите новый сертификат, включающий все необходимые домены. В GetHTTPS добавьте и example.com, и www.example.com.
ERR_CERT_AUTHORITY_INVALID — Недоверенный CA
Причина: Сертификат является самоподписанным, выпущен неизвестным CA, или промежуточная цепочка доверия неполная.
Решение для владельца:
- Если самоподписанный → замените на сертификат Let’s Encrypt
- Если цепочка неполная → используйте
fullchain.pem(Nginx) или добавьтеSSLCertificateChainFile(Apache) - Если неизвестный CA → перейдите на доверенный CA
ERR_SSL_PROTOCOL_ERROR — Ошибка рукопожатия
Причина: Конфигурация TLS на сервере сломана — неправильный путь к сертификату, повреждённые файлы или неправильные настройки.
Решение для владельца:
# Test the TLS connection
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
# Check if the certificate and key match
openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in privkey.pem | openssl md5
# Hashes must match
Распространённые причины: неправильный путь к файлу в конфигурации сервера, сертификат и ключ от разных сессий, слишком строгие права доступа к файлам.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH — Нет совместимого TLS
Причина: Сервер поддерживает только старые версии TLS (1.0/1.1), от которых браузер отказался, или использует наборы шифров, которые браузер не поддерживает.
Решение для владельца:
# Nginx — enable modern TLS
ssl_protocols TLSv1.2 TLSv1.3;
# Apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Предупреждения о смешанном контенте
Причина: Ваша HTTPS-страница загружает изображения, скрипты или CSS через HTTP.
Это не ошибка сертификата — сертификат в порядке, но страница ссылается на незащищённые ресурсы. Полное руководство по исправлению смешанного контента →
Диагностический алгоритм
При появлении любой ошибки SSL следуйте этой последовательности:
1. Проверьте код ошибки → определяет категорию
↓
2. Проверьте данные сертификата
openssl s_client -connect domain:443 -servername domain
↓
3. Просрочен? → Обновите
Несоответствие домена? → Перевыпустите для правильного домена
Неполная цепочка? → Используйте fullchain.pem
Самоподписанный? → Перейдите на Let's Encrypt
Ошибка конфигурации? → Проверьте пути и права доступа
↓
4. После исправления → перезагрузите сервер, очистите кеш браузера, проверьте
Онлайн-инструменты диагностики
| Инструмент | URL | Что проверяет |
|---|---|---|
| SSL Labs | ssllabs.com/ssltest | Полный аудит SSL (оценка A-F) |
| SSL Checker | sslshopper.com/ssl-checker | Цепочка, срок действия, соответствие домена |
| Certificate Search | crt.sh | Логи Certificate Transparency |
| Why No Padlock | whynopadlock.com | Обнаружение смешанного контента |
Часто задаваемые вопросы
Я исправил ошибку, но браузер всё ещё её показывает
Очистите кеш браузера (Ctrl+Shift+Delete) или проверьте в режиме инкогнито. Браузеры кешируют состояния SSL, и HSTS может принудительно сохранять закешированное решение. В Windows также очистите состояние SSL: Свойства обозревателя → Содержание → Очистить SSL.
Ошибка появляется в одних браузерах, но не в других
Разные браузеры имеют разные хранилища доверия и кеширование. Чаще всего: неполная цепочка сертификатов, которую некоторые браузеры могут дополнить из кеша, а другие — нет. Исправьте, настроив сервер на отдачу полной цепочки.
Как предотвратить ошибки SSL?
- Мониторьте срок действия сертификата — настройте оповещения на 60-й день из 90
- Используйте
fullchain.pemвместоcert.pem— предотвращает ошибки цепочки - Включайте все варианты домена (www + без-www) в сертификат
- Настройте автоматическое обновление с Certbot для продакшен-серверов
- Проверяйте после каждого изменения с помощью SSL Labs