Перейти к содержимому
Melinhost

Ошибка ERR_SSL_VERSION_OR_CIPHER_MISMATCH: причины и решение

Браузер не может установить защищённое соединение: как найти и исправить устаревшие версии TLS, несовместимые шифры, отсутствие сертификата и неверные настройки виртуального хоста.

Руководства · 1 мин чтения

err-ssl-version-or-cipher-mismatch

Если браузер сообщает «Не удаётся установить защищённое соединение с этим сайтом» и показывает ERR_SSL_VERSION_OR_CIPHER_MISMATCH, браузер и сервер не смогли договориться об общем формате защищённой связи (версия TLS и набор шифров). Чаще всего проблема на стороне сервера, и её можно исправить.

Возможные причины

ПричинаПояснение
Устаревшие версии TLSСервер предлагает только TLS 1.0/1.1; современные браузеры требуют минимум TLS 1.2
Устаревшие наборы шифровШифры вроде RC4 и 3DES, которые считаются небезопасными
SSL не установленДля домена нет сертификата; сервер отдаёт сертификат другого домена
Неверный порт / виртуальный хостПорт 443 отвечает обычным HTTP вместо HTTPS или SSL не включён
Несоответствие CDN/проксиРежим SSL между CDN и исходным сервером не совпадает
Очень старый клиентСтарая ОС/браузер не распознают новые сертификаты и шифры

1. Выясните, проблема у вас или на сервере

  • Откройте сайт в другом браузере и на другом устройстве. Если проблема только на старом устройстве, нужно обновить клиент.
  • Убедитесь, что системное время верное: неверные часы ломают защищённые соединения.

2. Проверьте сервер из командной строки

openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -tls1_2

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

3. Если у вас хостинг

  1. В панели управления хостингом убедитесь, что для домена установлен SSL-сертификат; если нет — получите бесплатный сертификат.
  2. Убедитесь, что в сертификат входят и адрес с www, и без него.
  3. Проверьте, что DNS-запись домена указывает на нужный сервер (см. DNS-записи).

4. Если вы администрируете сервер сами

Современная конфигурация предлагает только TLS 1.2 и 1.3.

Nginx:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;

Apache:

SSLProtocol -all +TLSv1.2 +TLSv1.3

Проверьте конфигурацию и перезагрузите службу:

sudo nginx -t && sudo systemctl reload nginx
sudo apachectl configtest && sudo systemctl reload apache2

Убедитесь также, что в блоке сервера для 443 есть listen 443 ssl; (Nginx) либо <VirtualHost *:443> и SSLEngine on (Apache). Если используете обратный прокси, Caddy, автоматически управляющий сертификатами, устраняет большинство таких ошибок.

5. Если используется CDN или прокси

Выберите режим SSL в CDN в соответствии с исходным сервером: если у него валидный сертификат, используйте режим с полной проверкой, иначе сначала установите сертификат на исходном сервере. Если к исходному серверу тоже обращаются по HTTPS, держите его версии TLS актуальными, как описано выше.

6. Проверьте продление сертификата

Просроченный сертификат даёт другую ошибку, но если автоматическое продление не удалось, сервер может отвечать старым или отсутствующим сертификатом. Если вы используете бесплатный сертификат, убедитесь, что DNS домена верен и порты 80/443 открыты.

Всё ещё не решено?

Создайте обращение, указав домен, скриншот ошибки и вывод openssl s_client.

Похожие записи

Настройки cookie

Мы используем необходимые cookie. Аналитические и маркетинговые cookie включаются только с вашего согласия. Политика использования cookie