Skip to content
EN

SSL_ERROR_RX_RECORD_TOO_LONG: отвечает не TLS

Коротко:

SSL_ERROR_RX_RECORD_TOO_LONG — Firefox ждёт TLS, но получил HTTP или другой текст. В 90% случаев причина: сервер слушает на 443 порту как HTTP (не HTTPS). Проверьте nginx/apache конфигурацию: порт 443 требует ssl_certificate и listen 443 ssl.

Эта ошибка часто встречается в дебаггинге SSL. Разбираем причины и даём пошаговое решение.

Проверить SSL своего сайта →

Что означает SSL_ERROR_RX_RECORD_TOO_LONG

SSL_ERROR_RX_RECORD_TOO_LONG — Firefox ждёт TLS, но получил HTTP или другой текст. В 90% случаев причина: сервер слушает на 443 порту как HTTP (не HTTPS). Проверьте nginx/apache конфигурацию: порт 443 требует ssl_certificate и listen 443 ssl.

Ошибка может появиться в Chrome, Edge, Opera, Brave (все на Chromium) и частично в Firefox и Safari. Разные браузеры отображают один и тот же код по-разному — но суть одна.

Как исправить (пошагово)

  1. Проверьте SSL-сертификат онлайнчекер Enterno.io покажет грейд, срок действия, цепочку и конкретную причину.
  2. Если проблема на стороне сервера — перевыпустите сертификат через certbot или выбранного CA.
  3. Обновите nginx/apache конфигурацию (настройте TLS 1.2/1.3, fullchain, правильные ciphers).
  4. Проверьте kernel OpenSSL — устаревший openssl < 1.1 может ломать handshake.
  5. После деплоя: проверьте ещё раз через SSL-чекер + очистите browser SSL-cache.

Проверить SSL сейчас →

Смежные SSL-ошибки

Что такое SSL_ERROR_RX_RECORD_TOO_LONG?

Ошибка SSL_ERROR_RX_RECORD_TOO_LONG возникает, когда клиент не может правильно установить защищенное соединение с сервером, что часто связано с неправильным портом или конфигурацией SSL. В большинстве случаев это указывает на то, что сервер слушает на порту, предназначенном для передачи HTTP, а не HTTPS. Чтобы исправить это, убедитесь, что ваш сервер настроен правильно и использует порт 443 для HTTPS.

Причины возникновения ошибки SSL_ERROR_RX_RECORD_TOO_LONG

Ошибка SSL_ERROR_RX_RECORD_TOO_LONG может возникнуть по нескольким причинам:

  • Неправильный порт: Если сервер настроен на использование порта 80 (HTTP) вместо порта 443 (HTTPS), это может привести к ошибке.
  • Неправильная конфигурация SSL: Если сертификат SSL не установлен или неправильно настроен, это также может вызвать проблему.
  • Брандмауэр или прокси: Некоторые брандмауэры или прокси-серверы могут блокировать соединения на порту 443.
  • Ошибки в конфигурации веб-сервера: Неправильные настройки в конфигурационных файлах веб-сервера могут привести к возникновению этой ошибки.

Для диагностики проблемы рекомендуется проверить настройки сервера и убедиться, что он слушает на правильном порту. Например, если вы используете Apache, проверьте файл конфигурации httpd.conf или sites-available/default-ssl.conf.

Как исправить ошибку SSL_ERROR_RX_RECORD_TOO_LONG

Для устранения ошибки SSL_ERROR_RX_RECORD_TOO_LONG выполните следующие шаги:

  1. Проверьте порт: Убедитесь, что ваш сервер настроен на использование порта 443 для HTTPS. Для этого выполните команду:
netstat -tuln | grep ':443'

Если вы не видите вывода, это означает, что сервер не слушает на этом порту.

  1. Проверьте конфигурацию SSL: Убедитесь, что сертификаты SSL правильно установлены и указаны в конфигурации сервера. Например, для Apache проверьте следующие строки в конфигурационном файле:
SSLEngine on
SSLCertificateFile /path/to/your/certificate.crt
SSLCertificateKeyFile /path/to/your/private.key
SSLCertificateChainFile /path/to/your/chainfile.pem
  1. Перезапустите сервер: После внесения изменений в конфигурацию обязательно перезапустите сервер. Для Apache используйте команду:
sudo systemctl restart apache2

Если вы используете Nginx, выполните команду:

sudo systemctl restart nginx
  1. Проверьте наличие ошибок в логах: Если ошибка сохраняется, проверьте логи сервера для получения дополнительной информации. В Apache это можно сделать с помощью:
tail -f /var/log/apache2/error.log

В Nginx используйте:

tail -f /var/log/nginx/error.log

Эти шаги помогут вам диагностировать и устранить проблему с ошибкой SSL_ERROR_RX_RECORD_TOO_LONG. Если проблема сохраняется, возможно, стоит обратиться к вашему хостинг-провайдеру или специалисту по безопасности для дальнейшего анализа.

TL;DR: Что такое SSL_ERROR_RX_RECORD_TOO_LONG?

Ошибка SSL_ERROR_RX_RECORD_TOO_LONG возникает, когда сервер не может корректно обработать SSL-соединение, часто из-за неправильного порта. Обычно это происходит, когда порт, на котором ожидается HTTPS-трафик (обычно 443), настроен неправильно или используется для HTTP-трафика. Проверьте конфигурацию сервера и убедитесь, что SSL-сертификаты корректно установлены.

Проблемы с конфигурацией сервера и их влияние на SSL_ERROR_RX_RECORD_TOO_LONG

Ошибка SSL_ERROR_RX_RECORD_TOO_LONG обычно связана с неправильной настройкой серверного программного обеспечения. Когда клиент пытается установить защищенное соединение, сервер может вернуть некорректный ответ, если он не настроен должным образом. Одной из самых распространенных причин этой ошибки является использование неправильного порта для SSL-трафика.

Для начала, давайте рассмотрим, какие порты обычно используются для различных протоколов:

  • HTTP: 80
  • HTTPS: 443

Если вы пытаетесь получить доступ к ресурсу по HTTPS, но сервер настроен на прослушивание порта 80, это и приведет к ошибке SSL_ERROR_RX_RECORD_TOO_LONG. Чтобы проверить, на каком порту работает ваш сервер, вы можете использовать следующие команды в терминале:

netstat -tuln

Эта команда покажет все активные сетевые соединения и порты, на которых слушает сервер. Убедитесь, что порт 443 открыт и настроен на использование SSL.

Если вы используете веб-сервер, такой как Apache или Nginx, убедитесь, что конфигурационные файлы сервера правильно настроены. Например, в Apache конфигурация для SSL может выглядеть следующим образом:

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /path/to/certificate.crt
    SSLCertificateKeyFile /path/to/private.key
</VirtualHost>

Здесь важно, чтобы директивы SSLCertificateFile и SSLCertificateKeyFile указывали на правильные пути к сертификату и закрытому ключу. Если эти файлы отсутствуют или неверно указаны, это также может привести к ошибке.

Для Nginx конфигурация может выглядеть так:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;

    location / {
        root /var/www/html;
    }
}

Обратите внимание на директиву listen 443 ssl;, которая указывает на то, что сервер должен прослушивать HTTPS-трафик на порту 443.

Кроме того, важно убедиться, что файрвол не блокирует порт 443. Вы можете проверить настройки файрвола с помощью команды:

sudo ufw status

Если порт 443 не открыт, добавьте его с помощью:

sudo ufw allow 443/tcp

В заключение, для устранения ошибки SSL_ERROR_RX_RECORD_TOO_LONG необходимо убедиться, что сервер правильно настроен для обработки SSL-запросов, использует правильные порты и имеет корректные сертификаты. Проверьте настройки и протестируйте соединение, чтобы убедиться, что проблема решена.

СертификатСрок, издатель, домены (SAN)
ЦепочкаПроверка промежуточных и корневых CA
TLS-протоколВерсия TLS и набор шифров
УязвимостиHeartbleed, POODLE, слабые шифры

Почему нам доверяют

TLS 1.3
поддержка
Полная
цепочка CA
<2с
результат
30/14/7
дней до истечения

Как это работает

1

Введите домен

2

Проверка цепочки TLS

3

Дата истечения и уязвимости

Что проверяет SSL-тест?

SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.

Детали сертификата

Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).

Цепочка доверия

Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.

Анализ TLS

Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).

Оповещения об истечении

Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.

DV vs OV vs EV сертификаты

DV (Domain Validation)
  • Подтверждение только владения доменом
  • Выдаётся за минуты автоматически
  • Бесплатно через Let's Encrypt
  • Подходит для большинства сайтов
  • Самый распространённый тип
OV / EV
  • Проверка организации (OV) или расширенная проверка (EV)
  • Выдаётся за 1-5 рабочих дней
  • Стоимость от $50 до $500/год
  • Для финансов, e-commerce, госсайтов
  • Повышает доверие пользователей

Кому это нужно

DevOps

мониторинг SSL-сертификатов

Безопасность

аудит TLS-конфигурации

SEO

HTTPS как фактор ранжирования

E-commerce

доверие покупателей

Частые ошибки

Истёкший сертификатБраузеры блокируют сайт с истёкшим SSL. Настройте автопродление или мониторинг.
Неполная цепочка сертификатовБез промежуточного CA некоторые браузеры и боты не смогут верифицировать сертификат.
Mixed content на HTTPS-сайтеHTTP-ресурсы на HTTPS-странице — замок в браузере пропадает, снижается доверие.
Использование TLS 1.0/1.1Устаревшие версии TLS содержат известные уязвимости. Используйте TLS 1.2+ или 1.3.
Несовпадение домена в сертификатеСертификат должен покрывать все домены сайта, включая www и поддомены.

Лучшие практики

Настройте автопродлениеLet's Encrypt + certbot с cron — сертификат обновляется автоматически каждые 60-90 дней.
Включите HSTSЗаголовок Strict-Transport-Security заставляет браузер всегда использовать HTTPS.
Используйте TLS 1.3TLS 1.3 быстрее (1-RTT handshake) и безопаснее — убраны устаревшие шифры.
Мониторьте срок действияСоздайте монитор на Enterno.io — получайте уведомления задолго до истечения.
Проверяйте цепочку после обновленияПосле обновления сертификата убедитесь, что промежуточные сертификаты установлены.

Получите больше с бесплатным аккаунтом

Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.

Зарегистрироваться (FREE)

Больше по теме

Источники

Часто задаваемые вопросы

Безопасно ли игнорировать SSL_ERROR_RX_RECORD_TOO_LONG?

Нет. Эта ошибка означает реальную проблему с SSL-сертификатом. Игнорирование (через chrome://flags или "thisisunsafe") делает соединение уязвимым к man-in-the-middle. Исправляйте на стороне сервера.

Как проверить наличие этой ошибки заранее?

Используйте <a href="/ssl">SSL/TLS-чекер Enterno.io</a> или <a href="/monitors">настройте мониторинг</a> с алертом за 14 дней до истечения сертификата. Получите email/Telegram-уведомление до того, как пользователи увидят ошибку.

Помогает ли очистка cookies / cache?

Иногда — для промежуточных кэшированных ошибок SSL. Шаги: chrome://net-internals/#sockets → Flush sockets, chrome://net-internals/#hsts → Delete domain security policies (осторожно, только для debug). Но если проблема на сервере — очистка cache не поможет.

Let's Encrypt бесплатный — и сертификат валидный?

Да, Let's Encrypt сертификаты во всех современных trust stores (Chrome, Firefox, Safari, Edge). 90-дневный срок действия с автопродлением через certbot. Нет причин использовать платный CA для стандартного сайта.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.