ERR_SSL_VERSION_OR_CIPHER_MISMATCH: что значит и как исправить
ERR_SSL_VERSION_OR_CIPHER_MISMATCH — браузер и сервер не смогли договориться о защищённом соединении: у них нет общей версии протокола TLS или общего набора шифров. Например, сервер работает только по TLS 1.0 или 1.1, а Chrome эти версии больше не принимает.
Содержание 10
Что сделать прямо сейчас
Если вы просто открываете сайт:
- Если ошибка только на одном сайте, проблема в его настройках — сообщите владельцу сайта.
- Если так не открывается страница старого роутера, камеры или другого устройства, обновите его прошивку: старые прошивки бывают рассчитаны только на устаревшие версии TLS.
- Если ошибка появляется на многих сайтах, обновите Chrome и перезапустите его.
Если сайт ваш, переходите к разделам «Как проверить» и «Как исправить» ниже: там все команды по шагам.
Что значит ошибка
В начале защищённого соединения браузер сообщает серверу, какие версии протокола TLS и какие наборы шифров он поддерживает, а сервер выбирает подходящие. Если общих нет, договориться не получается, и Chrome показывает ERR_SSL_VERSION_OR_CIPHER_MISMATCH — в исходном коде Chrome это ошибка -113.
Эту же ошибку Chrome показывает, если сервер работает только по TLS 1.0 или TLS 1.1. Раньше для этого случая в Chrome была отдельная ошибка, теперь она не используется. Обе версии признаны устаревшими в RFC 8996 в 2021 году. На тестовом сервере, который поддерживал только TLS 1.0, Chrome 155 показал именно ERR_SSL_VERSION_OR_CIPHER_MISMATCH.
Как выглядит в Chrome
Заголовок — «Этот сайт не может обеспечить безопасное подключение», под ним — «На сайте example.com используется неподдерживаемый протокол.» Внизу — код ERR_SSL_VERSION_OR_CIPHER_MISMATCH и кнопка «Сведения», кнопки «Перезагрузить» на этой странице нет. В сведениях Chrome поясняет: «Клиент и сервер поддерживают разные версии протокола SSL или набора шифров.»
Причины
- На сервере разрешены только TLS 1.0 и TLS 1.1. Например, в настройках nginx осталась старая строка ssl_protocols без TLSv1.2 и TLSv1.3.
- Заданы шифры, которых нет в Chrome. Например, в ssl_ciphers перечислены только старые наборы шифров.
- Старая версия OpenSSL. TLS 1.2 nginx поддерживает при OpenSSL 1.0.1 и новее, TLS 1.3 — при OpenSSL 1.1.1 и новее.
- Настройка в блоке server не действует. По документации nginx, если ssl_protocols указана в блоке server, может использоваться значение из сервера по умолчанию.
Как проверить
Команды из этого раздела вводятся в терминале сервера. Если вы ещё не подключались к нему, начните с инструкции Как подключиться к VPS по SSH. Скопируйте команду целиком, замените example.com на адрес своего сайта и нажмите Enter.
Шаг 1. Проверьте, отвечает ли сервер по TLS 1.2 и TLS 1.3
Сначала TLS 1.2:
openssl s_client -connect example.com:443 -servername example.com -tls1_2 </dev/nullЗатем TLS 1.3:
openssl s_client -connect example.com:443 -servername example.com -tls1_3 </dev/nullЕсли версия поддерживается, в выводе будут строки Protocol и Cipher — с версией TLS и выбранным набором шифров. Если нет, команда завершится ошибкой установки соединения.
Шаг 2. Посмотрите, какие версии и шифры заданы в настройках nginx
sudo nginx -T | grep -E 'ssl_protocols|ssl_ciphers'Шаг 3. Узнайте, с какой версией OpenSSL собран nginx
Её покажет строка built with OpenSSL в выводе команды:
nginx -VКак исправить
Разрешите современные версии TLS — в блоке http или в блоке server, который используется по умолчанию:
ssl_protocols TLSv1.2 TLSv1.3;В текущей документации nginx это значение указано как значение по умолчанию, а TLS 1.3 входит в него с версии nginx 1.23.4.
Если в настройках задана своя строка ssl_ciphers с устаревшими шифрами, удалите её: по умолчанию nginx использует набор HIGH:!aNULL:!MD5.
После правок сохраните файл — Ctrl+O, Enter, затем Ctrl+X — и проверьте настройки:
sudo nginx -tВ ответе должны быть слова syntax is ok и test is successful. Если вместо них сообщение об ошибке, в нём указаны файл и номер строки: исправьте строку и проверьте снова. Когда проверка прошла, примените настройки:
sudo systemctl reload nginxЕсли команда ничего не ответила, настройки применены.
Если nginx собран со старой версией OpenSSL, перенесите сайт на сервер с современной системой. Какую версию Ubuntu выбрать — в статье Ubuntu на VPS: какую версию выбрать и как обновлять.
На обычном хостинге
Версиями TLS на виртуальном хостинге управляет хостинг. Напишите в поддержку адрес сайта и код ошибки. Если хостинг не поддерживает TLS 1.2 и TLS 1.3, сайт стоит перенести — как это сделать без простоя, рассказано в инструкции Как перенести сайт на другой хостинг.
Соседние ошибки
| Ошибка | Чем отличается |
|---|---|
| ERR_SSL_PROTOCOL_ERROR | Сервер ответил не по протоколу TLS |
| ERR_CONNECTION_CLOSED | Сервер закрыл соединение, не закончив установку HTTPS |
| «Подключение не защищено» | О версии и шифре договорились, но сертификат не прошёл проверку |
Источники
- Исходный код Chromium: net_error_list.h — ошибка -113 и пометка, что TLS 1.0 и 1.1 теперь приводят к ней.
- RFC 8996 — TLS 1.0 и TLS 1.1 признаны устаревшими; RFC 8446 — протокол TLS 1.3.
- Документация nginx: ssl_protocols и ssl_ciphers.
Проверено в Chrome 155 на локальном тестовом сервере 7 октября 2026 года.
Сверено 7 октября 2026 года.
Что почитать дальше
- Бесплатный SSL-сертификат — как включить HTTPS на своём сервере.
- ERR_SSL_PROTOCOL_ERROR — когда сервер отвечает не по TLS.
- «Не удается получить доступ к сайту» — коды ошибок Chrome и что они значат.
Проверено и обновлено: 08.10.2026