ERR_SSL_PROTOCOL_ERROR: причины и способы решения проблемы
Ошибка ERR_SSL_PROTOCOL_ERROR в браузере Google Chrome (и подобные в других браузерах) — одна из самых частых проблем, с которой сталкиваются владельцы сайтов на WordPress после настройки SSL-сертификата. Браузер отказывается открывать сайт по HTTPS и показывает пугающее красное предупреждение. Разберёмся, почему она возникает и как её исправить.
Что означает эта ошибка?
ERR_SSL_PROTOCOL_ERROR говорит о том, что браузер не может установить защищённое соединение с сервером по протоколу TLS/SSL. Причина — не ошибка в самом сертификате (обычно), а проблема в конфигурации сервера, промежуточных сертификатах или настройках самого браузера.
Основные причины и решения
1. Неполная цепочка сертификатов (промежуточные сертификаты)
Самая распространённая причина. SSL-сертификат выдан на домен, но сервер не отдаёт промежуточные сертификаты (Intermediate CA). Браузер не может построить цепочку доверия до корневого центра сертификации.
Проверка: используйте SSL-чекер (например, https://www.sslshopper.com/ssl-checker.html).
Решение (cPanel / ISPmanager):
— Убедитесь, что при установке сертификата подставлен не только сам сертификат (domain.crt), но и цепочка промежуточных сертификатов (CA Bundle).
— В WordPress-хостингах на Nginx или Apache обычно есть поле «Certificate Authority Bundle» — оно должно быть заполнено.
Решение (Nginx вручную):
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_trusted_certificate /etc/nginx/ssl/ca-bundle.crt; # ← цепочка
}
2. Неверная дата и время на устройстве
SSL-сертификаты имеют срок действия. Если на вашем компьютере (или сервере) сбиты дата и время, браузер может посчитать сертификат недействительным.
Проверка:
— Windows: Параметры → Время и язык → Синхронизировать часы
— Linux: timedatectl status
— macOS: Системные настройки → Дата и время
Решение:
# Linux
sudo timedatectl set-ntp true
# или вручную
sudo ntpdate pool.ntp.org
3. Проблема с SSL/TLS версией на сервере
Современные браузеры требуют TLS версии 1.2 или 1.3. Если ваш сервер настроен только на TLS 1.0 или 1.1, браузер выдаст ошибку.
Проверка (через curl):
curl -v --tlsv1.2 https://your-site.com
curl -v --tlsv1.3 https://your-site.com
Решение (Apache):
SSLProtocol -all +TLSv1.2 +TLSv1.3
Решение (Nginx):
ssl_protocols TLSv1.2 TLSv1.3;
4. Настройки QUIC / HTTP/3 (актуально для Cloudflare)
Если сайт за Cloudflare, а на сервере включена поддержка QUIC (HTTP/3) без корректной настройки, некоторые старые браузеры могут выдавать эту ошибку.
Решение: отключите QUIC во временном порядке или настройте корректный fallback на HTTP/2.
5. Локальный кэш SSL в браузере
Иногда проблема на стороне клиента — браузер закэшировал старый SSL-стек.
Решение:
1. Закройте все вкладки с сайтом
2. Chrome: Настройки → Конфиденциальность и безопасность → Очистить данные просмотров
— выберите «Изображения и другие файлы в кэше»
— диапазон «Всё время»
3. Перезагрузите страницу (Ctrl+F5)
6. Расширения браузера блокируют SSL
Некоторые VPN-расширения, антивирусные плагины или HTTPS Everywhere могут вмешиваться в SSL-рукопожатие.
Решение: откройте сайт в режиме инкогнито (Ctrl+Shift+N). Если работает — отключайте расширения по одному.
Диагностика: быстрая проверка
# 1. Проверить сертификат на домене
openssl s_client -connect your-site.com:443 -servername your-site.com 2>/dev/null | openssl x509 -noout -dates
# 2. Проверить цепочку сертификатов
openssl s_client -connect your-site.com:443 -showcerts 2>/dev/null
# 3. Проверить TLS-версии
nmap --script ssl-enum-ciphers -p 443 your-site.com
Профилактика
- Настройте автообновление сертификата — Let’s Encrypt (Certbot) делает это автоматически
- Мониторинг SSL — сервисы типа UptimeRobot или Better Uptime могут проверять SSL каждые 5 минут
- Используйте Cloudflare для дополнительного слоя SSL-терминации
- Регулярно проверяйте цепочку — https://www.ssllabs.com/ssltest/
Итог
ERR_SSL_PROTOCOL_ERROR в 90% случаев решается правильной установкой промежуточных сертификатов или синхронизацией времени. Если сайт на WordPress — проверьте, что после обновления плагинов безопасности или смены хостинга вы заново подключили SSL-сертификат с полной цепочкой. В остальных случаях достаточно пошагово пройтись по списку выше — проблема найдётся в течение 10 минут.
