ERR_SSL_VERSION_OR_CIPHER_MISMATCH: как исправить (все браузеры)

Что такое ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
ERR_SSL_VERSION_OR_CIPHER_MISMATCH -- это ошибка браузера, которая появляется, когда ваш браузер и веб-сервер не могут согласовать общую версию протокола TLS или набор шифров во время SSL/TLS-рукопожатия. Браузер полностью блокирует соединение, потому что безопасный канал не может быть установлен.
Каждое HTTPS-соединение начинается с TLS-рукопожатия. В ходе этого рукопожатия браузер отправляет список поддерживаемых версий TLS и наборов шифров (так называемый ClientHello). Сервер выбирает один из них, который он также поддерживает, и отвечает (ServerHello). Если пересечение равно нулю -- сервер предлагает только те протоколы или шифры, которые браузер признал устаревшими или не распознаёт, -- рукопожатие немедленно завершается с этой ошибкой.
Внутренний код ошибки Chromium -- net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH. В Firefox тот же сбой отображается как SSL_ERROR_NO_CYPHER_OVERLAP. Оба означают одно и то же: клиент и сервер не имеют общих параметров для безопасного соединения.
Как выглядит ошибка в разных браузерах
Разные браузеры отображают различные сообщения об ошибке при одном и том же сбое согласования TLS. Полное сообщение об ошибке в Chrome гласит: «Этот сайт не может обеспечить безопасное соединение. [домен] использует неподдерживаемый протокол.»
| Браузер | Сообщение об ошибке | Код ошибки |
|---|---|---|
| Chrome / Edge / Brave / Opera | Этот сайт не может обеспечить безопасное соединение -- использует неподдерживаемый протокол | ERR_SSL_VERSION_OR_CIPHER_MISMATCH |
| Firefox | Сбой безопасного соединения -- невозможно установить защищённое соединение: нет общих алгоритмов шифрования | SSL_ERROR_NO_CYPHER_OVERLAP |
| Safari | Safari не может открыть страницу, поскольку не может установить безопасное соединение с сервером | Конкретный код отсутствует |
| cURL / OpenSSL | no protocols available / no ciphers available | SSL routines error |
Что вызывает ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
У этой ошибки есть причины как на стороне сервера, так и на стороне клиента. Если ошибка появляется на одном конкретном сайте, проблема почти наверняка на сервере. Если она появляется на многих сайтах, что-то на вашем устройстве или в сети мешает соединению.
Сервер использует устаревшие TLS 1.0 или TLS 1.1 -- Chrome, Edge, Firefox и Safari полностью прекратили поддержку TLS 1.0 и 1.1 в 2020 году. Если сервер предлагает только эти старые протоколы, современные браузеры отказываются подключаться. Это причина №1 на стороне сервера.
Слабые или устаревшие наборы шифров -- наборы шифров вроде RC4 (удалён из Chrome 48 в 2016 году), 3DES и шифры экспортного класса заблокированы всеми современными браузерами. Если сервер предлагает только их, рукопожатие не удаётся.
Сертификат, подписанный SHA-1 -- браузеры перестали доверять SHA-1 сертификатам в 2017 году. Если ваш сертификат использует SHA-1 вместо SHA-256, он будет отклонён.
Просроченный SSL-сертификат -- просроченный сертификат может вызвать эту ошибку в некоторых браузерах вместо более распространённой ERR_CERT_DATE_INVALID, особенно в сочетании с другими ошибками конфигурации.
Несоответствие имени сертификата -- SSL-сертификат выдан для
example.com, но сайт доступен по адресуwww.example.com(или поддомену, не покрытому сертификатом).Неполная цепочка сертификатов -- отсутствие промежуточных сертификатов не позволяет браузеру проверить цепочку доверия. Подробнее в нашем руководстве по цепочке SSL-сертификатов.
Неправильная настройка Cloudflare/CDN -- если ваш сайт использует Cloudflare, SSL-сертификат может ещё не быть активирован (занимает до 24 часов), DNS-запись может быть установлена в режим DNS-only вместо Proxied, или многоуровневый поддомен не покрыт Universal-сертификатом.
Старая операционная система -- Windows XP, Android 4.x и другие устаревшие ОС не поддерживают TLS 1.2 или современные наборы шифров, поэтому не могут подключаться к серверам, которые их требуют.
HTTPS-сканирование антивируса -- защитное ПО вроде Avast, Kaspersky или Bitdefender перехватывает HTTPS-соединения своими сертификатами, что может вызывать несоответствие шифров.
Браузер или устройство нуждается в обновлении -- очень старые версии браузеров могут не поддерживать наборы шифров, которые требует сервер.
Как исправить ERR_SSL_VERSION_OR_CIPHER_MISMATCH (для пользователей)
Если вы видите эту ошибку при просмотре сайтов, скорее всего, у сайта есть серверная проблема с SSL. Тем не менее, есть несколько вещей, которые вы можете попробовать со своей стороны. Если ошибка появляется только на одном сайте, перейдите к исправлениям для владельцев сайтов -- проблема на их сервере. Если она появляется на нескольких сайтах, попробуйте эти пользовательские решения.
Способ 1: Очистите состояние SSL (Windows)
Windows кэширует SSL-сертификаты и данные сессий отдельно от браузера. Устаревшие или повреждённые записи в этом системном кэше могут вызывать постоянные ошибки несоответствия шифров даже после очистки кэша браузера.
Откройте меню Пуск и найдите Свойства обозревателя (или нажмите Win+R и введите inetcpl.cpl). Перейдите на вкладку Содержание и нажмите Очистить SSL. Нажмите ОК и перезапустите браузер.
Способ 2: Очистите кэш и файлы cookie браузера
Кэшированные политики HSTS (HTTP Strict Transport Security) или старые билеты SSL-сессий могут заставить браузер пытаться подключаться с устаревшими параметрами.
Chrome/Edge: Нажмите
Ctrl+Shift+Delete-> установите За всё время -> отметьте Изображения и другие файлы, сохранённые в кэше и Файлы cookie -> нажмите Удалить данныеFirefox: Нажмите
Ctrl+Shift+Delete-> установите Всё -> отметьте Кэш и Файлы cookie -> нажмите Удалить сейчасSafari: Меню Safari -> Настройки -> Конфиденциальность -> Управление данными сайтов -> Удалить все
Для отдельного домена вы также можете очистить его запись HSTS в Chrome: перейдите в chrome://net-internals/#hsts -> в разделе «Delete domain security policies» -> введите домен -> нажмите Delete.
Способ 3: Отключите протокол QUIC
Протокол QUIC в Chrome (HTTP/3 поверх UDP) иногда может мешать TLS-согласованию на серверах, которые его некорректно поддерживают, или когда сетевое оборудование блокирует UDP на порту 443.
Шаг 1: Введите
chrome://flags/#enable-quicв адресной строкеШаг 2: Установите Experimental QUIC protocol в значение Disabled
Шаг 3: Нажмите Relaunch для перезапуска Chrome
Если ошибка исчезает, проблема была в конфликте QUIC/HTTP/3. Вы можете оставить QUIC отключённым -- страницы будут загружаться по стандартному HTTPS (HTTP/2 поверх TCP) без видимых отличий.
Способ 4: Обновите браузер и операционную систему
Старые браузеры и операционные системы могут не поддерживать версии TLS или наборы шифров, которые требуют современные сайты. Это частая причина на устаревших системах.
Обновите Chrome на странице chrome://settings/help. Обновите Edge на edge://settings/help. Для операционной системы убедитесь, что вы используете как минимум Windows 10, macOS 10.15 или свежий дистрибутив Linux. Windows XP и Windows Vista не поддерживают TLS 1.2 нативно и будут сталкиваться с этой ошибкой практически на каждом современном сайте.
Способ 5: Отключите HTTPS-сканирование антивируса
Антивирусные программы, сканирующие HTTPS-трафик (Avast, Kaspersky, Bitdefender, ESET, Norton), действуют как прокси-посредник -- они перехватывают TLS-рукопожатие и предоставляют браузеру свой собственный сертификат. Это может вызвать несоответствие шифров, когда антивирус не поддерживает те же шифры, что и оригинальный сервер.
Найдите настройки с названием HTTPS-сканирование, SSL-сканирование, Веб-экран или Сканирование зашифрованных соединений в вашем антивирусе и временно отключите их. Если ошибка исчезнет, добавьте проблемный домен в список исключений антивируса, а не оставляйте функцию отключённой.
Способ 6: Попробуйте режим инкогнито / приватный режим
Режим инкогнито использует чистое состояние браузера без кэшированных данных, файлов cookie и расширений. Если сайт загружается в режиме инкогнито, но не в обычном, причиной ошибки является расширение браузера, кэшированные данные или повреждённый профиль.
Откройте режим инкогнито с помощью Ctrl+Shift+N (Chrome/Edge) или Ctrl+Shift+P (Firefox). Если сайт работает, вернитесь и очистите кэш (Способ 2) или отключайте расширения по одному, чтобы найти виновника.
Способ 7: Отключите VPN или прокси
VPN и HTTP-прокси находятся между вашим браузером и веб-сервером. Некоторые VPN выполняют SSL-инспекцию или направляют соединения через серверы с ограниченной поддержкой шифров. Корпоративные прокси часто используют SSL-перехват, который может вызывать несоответствие шифров.
Временно отключите VPN и попробуйте загрузить сайт напрямую. Если он работает без VPN, попробуйте переключиться на другой VPN-сервер или обратитесь к провайдеру VPN по поводу совместимости с TLS.
Как исправить ERR_SSL_VERSION_OR_CIPHER_MISMATCH (для владельцев сайтов)
Если пользователи сообщают об этой ошибке на вашем сайте, проблема в SSL/TLS-конфигурации вашего сервера. Приведённые ниже решения устраняют основные причины -- от проблем с сертификатом до настроек протокола и шифров.
Исправление 1: Проверьте свой SSL-сертификат
Начните с проверки того, что ваш SSL-сертификат действителен, не просрочен и покрывает правильный домен. Используйте SSL Checker от DNS Robot для мгновенной проверки статуса сертификата, даты истечения, издателя и полноты цепочки.
Распространённые проблемы с сертификатами, вызывающие эту ошибку:
Просроченный сертификат -- сертификаты Let's Encrypt истекают каждые 90 дней. Если автоматическое продление не сработало, ваш сертификат тихо истекает, и браузеры отказываются подключаться.
Неверный домен -- сертификат покрывает
example.com, но сайт обслуживается по адресуwww.example.comили поддомену. Сертификат должен соответствовать точному домену или включать подстановочный знак (*.example.com).Сертификат SHA-1 -- все основные браузеры отклонили сертификаты SHA-1 в 2017 году. Если ваш сертификат всё ещё использует SHA-1, перевыпустите его с SHA-256.
Самоподписанный сертификат -- доверяется только в среде разработки. Для продакшена необходим сертификат от признанного центра сертификации.
# Check certificate details from command line
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates -subject -issuer -fingerprint -sha256
# Check which TLS versions the server supports
nmap --script ssl-enum-ciphers -p 443 yourdomain.com
# Renew Let's Encrypt certificate
sudo certbot renew --force-renewalИсправление 2: Включите TLS 1.2 и TLS 1.3
Все современные браузеры требуют как минимум TLS 1.2. Если ваш сервер предлагает только TLS 1.0 или 1.1, браузеры покажут ERR_SSL_VERSION_OR_CIPHER_MISMATCH. Включите и TLS 1.2, и TLS 1.3 -- отключите всё более старое.
# Nginx — in nginx.conf or site config
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# Apache — in httpd.conf or ssl.conf
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder on
# After changing, restart your web server:
sudo systemctl restart nginx # or apache2После обновления протестируйте с помощью SSL Checker от DNS Robot или Qualys SSL Labs, чтобы убедиться, что активны только TLS 1.2 и 1.3.
Исправление 3: Обновите наборы шифров
Даже при включённом TLS 1.2 использование устаревших наборов шифров вызывает ту же ошибку. Браузеры блокируют RC4 (с 2016 года), 3DES, шифры экспортного класса и NULL-шифры. Ваш сервер должен предлагать современные AEAD-шифры, такие как AES-GCM или ChaCha20-Poly1305.
# Nginx — modern cipher configuration
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
ssl_prefer_server_ciphers off; # Let client choose (TLS 1.3 best practice)
# Apache — modern cipher configuration
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder offИсправление 4: Установите полную цепочку сертификатов
Неполная цепочка сертификатов -- когда сервер отправляет свой сертификат, но не промежуточные -- может вызвать ERR_SSL_VERSION_OR_CIPHER_MISMATCH в некоторых браузерах и на некоторых устройствах. Сервер должен отправлять полную цепочку от конечного сертификата до промежуточного центра сертификации.
Для Let's Encrypt всегда используйте fullchain.pem (не cert.pem). Для других центров сертификации скачайте промежуточный сертификат из документации вашего CA и объедините его с вашим сертификатом.
# Nginx — use fullchain, not just cert
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# Apache
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
# Verify chain is complete
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep -E "(depth|verify|Certificate chain)"Исправление 5: Исправьте несоответствие имени сертификата
Если ваш SSL-сертификат не покрывает точный домен или поддомен, к которому обращаются, TLS-рукопожатие может завершиться с ошибкой несоответствия шифров. Это часто происходит, когда:
www и без www -- сертификат покрывает
example.com, но неwww.example.com. Решение: используйте сертификат, который покрывает оба варианта, или получите wildcard-сертификат (*.example.com).Поддомен не покрыт -- сертификат покрывает
example.com, но пользователь заходит наapp.example.com. Wildcard-сертификат покрывает поддомены первого уровня, но не многоуровневые, такие какstaging.app.example.com.Совершенно другой домен -- сервер предоставляет сертификат для другого домена (часто встречается на виртуальном хостинге или при неправильно настроенных виртуальных хостах).
Проверьте, какой домен покрывает ваш сертификат, с помощью SSL Checker от DNS Robot -- он отображает список Subject Alternative Names (SANs), показывающий каждый домен и поддомен, покрытый сертификатом.
Исправление 6: Исправления для Cloudflare
Если ваш сайт использует Cloudflare и посетители видят ERR_SSL_VERSION_OR_CIPHER_MISMATCH, проблема обычно связана с настройкой SSL-прокси Cloudflare.
Сертификат ещё не активирован -- Universal SSL от Cloudflare активируется от 15 минут до 24 часов после добавления домена. Проверьте статус сертификата в панели управления Cloudflare -> SSL/TLS -> Edge Certificates. Статус должен быть «Active».
DNS-запись в режиме DNS-only -- DNS-запись должна быть установлена в режим Proxied (оранжевое облако), чтобы Cloudflare мог обслуживать свой SSL-сертификат. Если она в режиме DNS-only (серое облако), Cloudflare не проксирует соединение, и вместо этого используется сертификат вашего исходного сервера.
Многоуровневый поддомен -- Universal-сертификат Cloudflare покрывает только
example.comи*.example.com(один уровень). Дляsub.sub.example.comвам нужен Advanced Certificate, Total TLS или пользовательский сертификат.Несоответствие режима SSL/TLS -- в панели управления Cloudflare -> SSL/TLS установите режим шифрования Full (Strict), если у вашего сервера есть действительный сертификат, или Full, если используется Cloudflare Origin Certificate.
Исправление 7: Проверьте настройку SSL на CDN
Если ваш сайт использует CDN (CloudFront, Fastly, Akamai или любой обратный прокси), CDN завершает TLS-соединение с посетителем. Неправильная настройка SSL на уровне CDN вызывает эту ошибку, даже если SSL на вашем исходном сервере настроен идеально.
Сертификат CDN просрочен или отсутствует -- убедитесь, что CDN имеет действительный SSL-сертификат для вашего домена. На AWS CloudFront это означает сертификат ACM. На других CDN проверьте, что ваш пользовательский сертификат загружен и активен.
Слишком старая версия TLS на CDN -- некоторые конфигурации CDN по умолчанию разрешают TLS 1.0. Обновите минимальную версию TLS вашего CDN до 1.2.
SNI не поддерживается -- если CDN обслуживает несколько доменов с одного IP, он должен поддерживать Server Name Indication (SNI) для предоставления правильного сертификата каждому домену.
Как проверить SSL-конфигурацию
После внесения изменений убедитесь, что ваша SSL-настройка корректна. Эти инструменты помогут обнаружить проблемы до того, как с ними столкнутся ваши посетители.
[SSL Checker от DNS Robot](/ssl-checker) -- быстрая проверка статуса сертификата, срока действия, полноты цепочки и издателя. Результаты за секунды.
Qualys SSL Labs -- глубокое сканирование версий TLS, наборов шифров, поддержки протоколов и известных уязвимостей. Выдаёт буквенную оценку (стремитесь к A или A+).
OpenSSL CLI -- тестирование из командной строки с помощью
openssl s_client -connect domain.com:443для просмотра необработанного рукопожатия, цепочки сертификатов и согласованного шифра.Chrome DevTools -- откройте DevTools (F12) -> вкладка Security -> показывает версию TLS, набор шифров и данные сертификата для текущего соединения.
# Quick OpenSSL check — shows protocol, cipher, and certificate
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep -E "(Protocol|Cipher|subject|issuer|Not After)"
# Test specific TLS version support
openssl s_client -connect yourdomain.com:443 -tls1_2 2>/dev/null | head -5 # Test TLS 1.2
openssl s_client -connect yourdomain.com:443 -tls1_3 2>/dev/null | head -5 # Test TLS 1.3Связанные ошибки SSL/TLS
В Chrome есть несколько кодов ошибок, связанных с SSL. Все они указывают на разные стадии сбоя TLS.
| Код ошибки | Что означает | Распространённая причина |
|---|---|---|
| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | Нет общей версии TLS или набора шифров | Сервер использует TLS 1.0/1.1, шифры RC4 или сертификат SHA-1 |
| ERR_SSL_PROTOCOL_ERROR | Общий сбой TLS-рукопожатия | Неверная дата/время, конфликт QUIC, повреждённое состояние SSL |
| ERR_CERT_AUTHORITY_INVALID | Сертификат не является доверенным | Самоподписанный сертификат, отсутствует промежуточный, ненадёжный CA |
| ERR_CERT_DATE_INVALID | Сертификат просрочен или ещё не действителен | Просроченный сертификат, неверные системные часы |
| ERR_CERT_COMMON_NAME_INVALID | Несоответствие домена сертификата | Сертификат для example.com, доступ по www.example.com |
При любой из этих SSL-ошибок начните с проверки сертификата с помощью SSL Checker от DNS Robot. Он показывает статус сертификата, цепочку, срок действия и поддерживаемые протоколы за одно сканирование. Вы также можете прочитать наши руководства по ERR_SSL_PROTOCOL_ERROR и «Ваше подключение не является защищённым» для подробных решений.
Проверьте свой SSL-сертификат прямо сейчас
Используйте бесплатный SSL Checker от DNS Robot для проверки статуса сертификата, даты истечения, цепочки сертификатов и конфигурации TLS. Диагностируйте ERR_SSL_VERSION_OR_CIPHER_MISMATCH за считанные секунды.
Try SSL CheckerFrequently Asked Questions
ERR_SSL_VERSION_OR_CIPHER_MISMATCH означает, что ваш браузер и веб-сервер не могут договориться об общей версии протокола TLS или наборе шифров. Во время TLS-рукопожатия браузер отправляет список поддерживаемых вариантов, и у сервера нет ни одного совпадающего. Это делает невозможным установление безопасного соединения.