“Ваше подключение не является частным” — самая распространённая ошибка SSL. Она означает, что браузер обнаружил проблему с SSL-сертификатом сайта и отказался устанавливать безопасное соединение. Ошибка отображается как NET::ERR_CERT_* в Chrome, “Warning: Potential Security Risk” в Firefox или “This connection is not private” в Safari.
Это руководство охватывает исправления для обеих сторон: если вы посетитель, увидевший ошибку, и если вы владелец сайта, чьи посетители её видят.
Если вы посетитель (быстрые исправления)
Эти шаги устраняют клиентские причины — проблемы на вашем устройстве, а не на сайте.
1. Перезагрузите страницу
Ошибка иногда бывает временной — сбой сети во время TLS-рукопожатия. Нажмите F5 или Ctrl+R.
2. Проверьте дату и время на устройстве
SSL-сертификаты имеют сроки действия. Если часы на вашем компьютере установлены неправильно, браузер считает, что сертификат истёк или ещё не действителен. Исправление:
- Windows: Параметры → Время и язык → Установить время автоматически
- macOS: Системные настройки → Основные → Дата и время → Устанавливать автоматически
- Linux:
sudo timedatectl set-ntp true
3. Попробуйте режим инкогнито/приватный режим
Если в режиме инкогнито работает, а в обычном — нет, расширение браузера мешает. Скорее всего, это антивирус, VPN или блокировщик рекламы, который проверяет HTTPS-трафик. Отключайте расширения по одному, чтобы найти виновника.
4. Очистите кеш браузера и состояние SSL
Ваш браузер мог закешировать старый сертификат:
- Chrome: Настройки → Конфиденциальность → Очистить данные просмотра → Кешированные изображения и файлы
- Windows: Свойства обозревателя → Содержание → Очистить состояние SSL
- macOS: Связка ключей → поиск по домену → удалить кешированные записи
5. Проверьте сеть
Корпоративные прокси, порталы авторизации Wi-Fi в отелях и некоторые VPN подставляют собственные сертификаты. Попробуйте:
- Отключить VPN и повторить попытку
- Переключиться на другую сеть (например, мобильную точку доступа)
- Подключиться к порталу авторизации, если вы используете Wi-Fi в отеле или аэропорту
6. Обновите браузер
Старые браузеры могут не доверять новым центрам сертификации или не поддерживать современный TLS. Обновитесь до последней версии.
Стоит ли нажимать “Всё равно продолжить”? Только если вы понимаете риск и доверяете сайту (например, ваш собственный сервер разработки с самоподписанным сертификатом). Никогда не обходите предупреждение на банковских сайтах, в электронной почте или интернет-магазинах.
Если вы владелец сайта (серверные исправления)
Ваши посетители видят эту ошибку, потому что с вашей настройкой SSL что-то не так. Вот как диагностировать и исправить каждую причину.
Причина 1: Сертификат истёк
Самая распространённая причина. Сертификаты Let’s Encrypt истекают каждые 90 дней.
Диагностика:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates
Исправление: Обновите сертификат. С GetHTTPS это займёт 5 минут. Затем замените файлы и перезагрузите сервер.
Причина 2: Сертификат не соответствует домену
Сертификат был выпущен для example.com, но вы обращаетесь к www.example.com (или наоборот).
Диагностика:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -ext subjectAltName
Исправление: Получите новый сертификат, включающий как основной домен, так и www. В GetHTTPS добавьте оба: example.com и www.example.com.
Причина 3: Неполная цепочка сертификатов
Ваш сервер не отправляет промежуточный сертификат. Браузер не может построить цепочку доверия от вашего сертификата до корневого удостоверяющего центра.
Диагностика:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep "Verify return code"
# "21 (unable to verify the first certificate)" = цепочка неполная
Исправление:
- Nginx: Используйте
fullchain.pem(неcert.pem) вssl_certificate - Apache: Добавьте
SSLCertificateChainFile chain.pem
Причина 4: Самоподписанный сертификат
Самоподписанные сертификаты не являются доверенными для браузеров — нет удостоверяющего центра, который за них ручается.
Исправление: Замените на настоящий сертификат от Let’s Encrypt (бесплатно) или коммерческого удостоверяющего центра.
Причина 5: Отдаётся неправильный сертификат
Если вы размещаете несколько сайтов на одном сервере, может отдаваться неправильный сертификат (неверная настройка SNI).
Диагностика:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -subject
# Проверьте, что CN соответствует вашему домену
Исправление: Убедитесь, что каждый блок server (Nginx) или <VirtualHost> (Apache) содержит правильный ssl_certificate для соответствующего домена.
Причина 6: Слишком старая версия TLS
Ваш сервер поддерживает только устаревшие версии TLS (1.0/1.1), от которых браузеры отказались.
Исправление:
# Nginx
ssl_protocols TLSv1.2 TLSv1.3;
# Apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Причина 7: Режим “Flexible” SSL в Cloudflare
Режим “Flexible” в Cloudflare может вызвать эту ошибку, если на сервере-источнике нет действующего сертификата.
Исправление: Установите сертификат на сервер-источник (GetHTTPS или Cloudflare Origin CA) и переключитесь на режим “Full (Strict)”.
Причина 8: HSTS закешировал ошибочное состояние
Если вы ранее отправляли заголовки HSTS, а затем нарушили HTTPS, браузеры отказываются подключаться по HTTP в качестве запасного варианта.
Исправление: Восстановите HTTPS с действительным сертификатом. При тестировании используйте короткий max-age для HSTS (например, 300 секунд), пока не будете уверены.
Справочник по кодам ошибок
| Код ошибки Chrome | Значение | Типичное исправление |
|---|---|---|
NET::ERR_CERT_DATE_INVALID | Сертификат истёк или ещё не действителен | Обновить сертификат или исправить системные часы |
NET::ERR_CERT_COMMON_NAME_INVALID | Домен не соответствует сертификату | Получить сертификат для правильного домена |
NET::ERR_CERT_AUTHORITY_INVALID | Самоподписанный или недоверенный удостоверяющий центр | Использовать доверенный удостоверяющий центр, например Let’s Encrypt |
NET::ERR_CERT_REVOKED | Сертификат был отозван | Получить новый сертификат |
NET::ERR_SSL_PROTOCOL_ERROR | Ошибка TLS-рукопожатия | Проверить настройки TLS на сервере |
NET::ERR_SSL_VERSION_OR_CIPHER_MISMATCH | Нет общей версии TLS / шифра | Включить TLS 1.2+ на сервере |
SSL_ERROR_HANDSHAKE_FAILURE_ALERT | (Firefox) Рукопожатие отклонено | Проверить сертификат и конфигурацию сервера |
Часто задаваемые вопросы
Безопасно ли нажимать “Продолжить” / “Принять риск”?
Только на сайтах, которым вы доверяете и чей риск понимаете — например, ваш собственный сервер разработки с самоподписанным сертификатом. Никогда не обходите предупреждение на банковских сайтах, в интернет-магазинах, электронной почте или социальных сетях. Предупреждение существует, потому что кто-то может перехватывать ваш трафик.
Я вижу эту ошибку на своём сайте. Как исправить быстрее всего?
Перейдите на GetHTTPS, получите новый бесплатный сертификат, установите его, перезагрузите веб-сервер. Занимает 5 минут. Если ошибка сохраняется, проверьте код ошибки — он точно указывает, что не так (истёк, неправильный домен, отсутствует цепочка и т. д.).
Ошибка появляется на одних устройствах, но не на других
Обычно это проблема цепочки доверия — ваш сервер не отправляет промежуточный сертификат. Некоторые браузеры/ОС кешируют промежуточный сертификат с предыдущих посещений, но новые устройства его не видели. Исправьте, используя fullchain.pem на сервере.
Мой сертификат действителен, но ошибка всё равно появляется
Проверьте: несоответствие домена (www и без www), неполную цепочку, кеширование HSTS после предыдущего сбоя или прокси/CDN, отдающий другой сертификат. Используйте openssl s_client, чтобы увидеть, какой именно сертификат отдаёт сервер.