Перейти к содержимому
SEO/Опубликовано 25 сентября 2026 г./5 мин

ERR_SSL_PROTOCOL_ERROR: браузер не договорился с сайтом о шифровании

ERR_SSL_PROTOCOL_ERROR — браузер и сервер не смогли начать защищённое соединение. Мы открыли в Chrome 22 адреса Екатеринбурга с такой поломкой и получили семь разных ошибок. Чья это вина, при чём тут часы и антивирус.

ERR_SSL_PROTOCOL_ERROR: браузер не договорился с сайтом о шифровании
С
Команда NEXFORCE
SEO-эксперт NEXFORCE

ERR_SSL_PROTOCOL_ERROR значит, что браузер и сервер начали защищённое соединение и не договорились о нём. До самой страницы дело не дошло: обрыв случился на рукопожатии, когда стороны выбирают версию протокола, шифр и сертификат.

Мы открыли в Chrome все адреса из нашей выборки, на которых рукопожатие ломается, и проверили каждый вручную.

Что говорит браузер

В коде Chromium, на котором собраны Chrome, Яндекс Браузер и Edge, ошибка описана одной строкой: SSL_PROTOCOL_ERROR, -107 — «An SSL protocol error occurred». Это общая надпись: браузер понял, что рукопожатие сорвалось, но не нашёл более точного объяснения.

Рядом стоят родственные ошибки с конкретной причиной:

ОшибкаНомерЧто сказано в коде
ERR_SSL_PROTOCOL_ERROR−107ошибка протокола SSL
ERR_SSL_VERSION_OR_CIPHER_MISMATCH−113у клиента и сервера нет общей версии протокола или шифра
ERR_SSL_UNRECOGNIZED_NAME_ALERT−159сервер прислал сигнал «имя не распознано»
ERR_HTTP2_PROTOCOL_ERROR−337ошибка протокола HTTP/2

Для посетителя они выглядят одинаково: страница не открылась, внизу код ошибки.

Наш замер: 22 адреса, семь разных ошибок

Мы взяли сайты, которые организации Екатеринбурга указали в OpenStreetMap. Из 1763 адресов с рабочим DNS 25 сентября 2026 года у 22 соединение по https обрывалось на рукопожатии. Каждый мы открыли в Chrome:

Что показал ChromeАдресов
ERR_SSL_VERSION_OR_CIPHER_MISMATCH5
ERR_SSL_UNRECOGNIZED_NAME_ALERT4
ERR_HTTP2_PROTOCOL_ERROR4
ERR_SSL_PROTOCOL_ERROR2
ERR_CONNECTION_RESET1
открылся4
не загрузился за 30 секунд2

Одна и та же поломка у разных серверов даёт разные надписи. Поэтому искать решение по точному тексту ошибки бесполезно: смотреть надо, что сервер отвечает на самом деле.

Что мы нашли за ошибками

Каждый адрес мы проверили через openssl s_client: с каждой версией TLS, с именем сайта в запросе и без него. Потом открыли тот же адрес по обычному http.

На порту 443 нет сертификата для этого имени. Самый частый случай. Сайт живёт на общем хостинге и работает по http, а на защищённый порт сервер отвечает, но сертификата для этого домена у него нет. Одни серверы рвут рукопожатие на любой версии TLS — Chrome пишет VERSION_OR_CIPHER_MISMATCH. Другие шлют сигнал «unrecognized name», номер 112 по стандарту, — Chrome пишет UNRECOGNIZED_NAME_ALERT. При этом по http четыре из этих девяти отвечают кодом 200: сайт работает, сломан только https.

Домен припаркован. Два адреса с ошибкой шифра стоят на одном IP, а по http переадресуют на страницу продажи домена у регистратора. Сайта там давно нет.

Сломана переадресация на https. У всех четырёх адресов с HTTP2_PROTOCOL_ERROR обычный http переводит посетителя на https — прямо в неработающее соединение. Так же устроены адрес с CONNECTION_RESET и один из двух с SSL_PROTOCOL_ERROR.

Устаревший протокол — не наш случай. Популярное объяснение «сервер поддерживает только старый TLS» в выборке не подтвердилось. Из 19 серверов, которые вообще ответили на рукопожатие, ни один не работает только на старых версиях. 16 отвергли TLS 1.0 сигналом «protocol version», ещё один принял его наравне с TLS 1.2. Старый протокол сегодня отключают сами серверы.

Ошибка сертификата — соседняя беда

Ещё у 101 адреса из выборки рукопожатие проходит, но сертификат не выдерживает проверку. Chrome тогда пишет не SSL_PROTOCOL_ERROR, а ошибку из семейства ERR_CERT_* и страницу «Подключение не защищено». Разбор:

Итог проверкиАдресов
сертификат выписан на другое имя61
срок действия истёк28
сервер не отдал цепочку до корневого центра10
самоподписанный сертификат2

У 31 адреса из «другого имени» сервер отдавал сертификат самого хостинга — тот, что стоит по умолчанию для всех, у кого своего нет. Из 28 просроченных у 16 срок кончился до 2026 года, у трёх — ещё в 2016-м.

Когда виноват ваш компьютер

Если с телефона через мобильный интернет адрес открывается, а с компьютера нет, причину ищут на своей стороне.

Часы. Браузер сверяет срок сертификата со своими часами. В коде Chromium у ошибки ERR_CERT_DATE_INVALID названы три причины, и третья — «Our clock is wrong», неверные часы. Компьютер с датой в прошлом году увидит сертификаты, выпущенные позже, «ещё не действующими». Поставьте автоматическую синхронизацию времени.

Антивирус и VPN. Часть антивирусов проверяет защищённые соединения: встаёт посредником и подменяет сертификат своим. Если посредник не справился с рукопожатием, ошибку увидите вы, а не он. Проверка простая: выключите на минуту «проверку HTTPS» в антивирусе или VPN и откройте адрес снова. Этот случай мы не измеряли.

Старый браузер или система. Если система не знает TLS 1.2, а сервер уже требует его, рукопожатие не сложится. Обновление браузера решает вопрос.

Как проверить сертификат снаружи

Самый точный способ — openssl s_client, он есть в Linux и macOS, для Windows ставится отдельно:

openssl s_client -connect сайт.ru:443 -servername сайт.ru

В ответе ищите три строки:

  • subject — на чьё имя выписан сертификат. Имя хостинга вместо вашего домена значит, что своего сертификата нет.
  • NotAfter — до какой даты он действует.
  • Verify return code — итог проверки. 0 (ok) — всё в порядке; 10 — срок истёк; 62 — имя не совпадает; 21 — нет промежуточного сертификата.

Если команда падает сразу с alert, рукопожатие не состоялось вовсе — смотрите текст сигнала. Что такое сертификат и где его взять, мы разобрали в статье SSL-сертификат сайта. Открывается ли адрес снаружи, покажет наша проверка доступности.

Если вы владелец сайта

  • Выпустите сертификат на каждое имя. И на сайт.ru, и на www.сайт.ru. Бесплатный от Let's Encrypt у большинства хостингов включается в панели.
  • Не включайте переадресацию на https, пока https не работает. Переадресация в сломанное соединение хуже, чем сайт только на http: посетитель не увидит ничего.
  • Отдавайте полную цепочку. Десять серверов из выборки её не отдавали; часть браузеров такое прощает, а curl и другие программы — нет: в нашем замере это ошибка проверки.
  • Следите за сроком. Автопродление сертификата обычно ломается молча — ставьте напоминание на дату из NotAfter.

Для поиска это тоже важно: робот, который не смог открыть https-версию, не скачает страницу. Как быстро она возвращается в поиск после починки, мы не измеряли.

Границы замера

  • Одна выборка: сайты организаций Екатеринбурга из OpenStreetMap.
  • Chrome на Linux, один прогон, ожидание 30 секунд на адрес.
  • Проверка из-за пределов России; из российской сети эти адреса мы отдельно не открывали.
  • Влияние антивирусов и VPN не измерено.
  • Данные сняты 25.09.2026.

Коротко

  • ERR_SSL_PROTOCOL_ERROR — браузер и сервер не договорились о шифровании; до страницы запрос не дошёл.
  • Одна поломка даёт разные надписи: у 22 адресов мы увидели семь вариантов.
  • Чаще всего причина в том, что на защищённом порту нет сертификата для этого имени, а не в старом протоколе.
  • Если ошибка только у вас — проверьте часы, антивирус и VPN.
  • Сертификат снаружи проверяет openssl s_client: смотрите subject, NotAfter и Verify return code.
Вопросы и ответы

FAQ по теме

Что значит ERR_SSL_PROTOCOL_ERROR?+
Браузер и сервер начали устанавливать защищённое соединение и не договорились. В коде Chromium это ошибка −107, «An SSL protocol error occurred». Страница при этом даже не запрашивалась.
Могут ли неправильные часы на компьютере вызвать ошибку?+
Да, но другую — ERR_CERT_DATE_INVALID. Браузер сверяет срок сертификата со своими часами, и в коде Chromium неверные часы названы одной из трёх причин такой ошибки.
Как проверить сертификат сайта снаружи?+
Командой openssl s_client -connect сайт.ru:443 -servername сайт.ru. Она покажет, чей сертификат отдаёт сервер, до какой даты он действует и чем закончилась проверка.
Если ошибка только у меня, что делать?+
Откройте адрес с телефона через мобильный интернет. Если там работает, проверьте дату и время на компьютере, выключите на время проверку защищённых соединений в антивирусе и VPN.