Вопрос

У меня есть клиент, который пытается получить доступ к одному из моих сайтов, и он продолжает получать эту ошибку > ssl_error_rx_record_too_long

Эта ошибка появляется во всех браузерах и на всех платформах.Я вообще не могу воспроизвести проблему.

Мой сервер и я находимся в США, клиент находится в Индии.

Я погуглил эту проблему, и основной источник, похоже, заключается в том, что порт SSL говорит на HTTP.Я проверил свой сервер, и этого не происходит.Я пытался решение, упомянутое здесь, но клиент заявил, что не устранил проблему.

Может ли кто-нибудь сказать мне, как я могу это исправить или как я могу это воспроизвести???

РЕШЕНИЕ

Оказывается, у клиента был неправильно настроен локальный прокси!

Надеюсь, это поможет любому, кто найдет этот вопрос и попытается отладить его в будущем.

Это было полезно?

Решение

А ссылка, упомянутая Subimage был для меня правильным по деньгам.Предлагалось изменить тег виртуального хоста, т.е. с <VirtualHost myserver.example.com:443> к <VirtualHost _default_:443>

Код ошибки: ssl_error_rx_record_too_long

Обычно это означает, что реализация SSL на вашем сервере неправильная.Ошибка обычно вызвана проблемой на стороне сервера, которую администратор сервера должен исследовать.

Ниже приведены некоторые вещи, которые мы рекомендуем попробовать.

  • Убедитесь, что порт 443 открыт и включен на вашем сервере.Это стандартный порт для связи https.

  • Если SSL использует нестандартный порт, FireFox 3 иногда может выдавать эту ошибку.Убедитесь, что SSL работает на порту 443.

  • Если вы используете Apache2, убедитесь, что вы используете порт 443 для SSL.Это можно сделать, установив файлports.conf следующим образом:

    Listen 80
    Listen 443 https
    
  • Убедитесь, что у вас не более одного SSL-сертификата, использующего один и тот же IP-адрес.Убедитесь, что все сертификаты SSL используют собственный выделенный IP-адрес.

  • Если вы используете Apache2, проверьте конфигурацию вашего виртуального хоста.Некоторые пользователи сообщили об изменении <VirtualHost> к _default_ устранил ошибку.

Это решило мою проблему.Редко когда я гуглю сообщение об ошибке и сразу же получаю правильный ответ!:-)

В дополнение к вышесказанному, это некоторые другие решения, которые, по мнению других людей, вызывали проблему:

  • Убедитесь, что срок действия вашего SSL-сертификата не истек.

  • Попробуйте указать шифр:

    SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3

Другие советы

Решение для меня было в том, что default-ssl не был включен в Apache 2....просто кладу SSLEngine On

мне пришлось выполнить a2ensite default-ssl и все работало.

В моем случае мне пришлось изменить <VirtualHost *> обратно на <VirtualHost *:80> (который используется по умолчанию в Ubuntu).В противном случае порт 443 не использовал SSL и отправлял обратно в браузер обычный HTML.

Вы можете легко проверить, ваш ли это случай:просто подключитесь к вашему серверу http://www.example.com:443.Если вы видите простой HTML-код, ваш Apache вообще не использует SSL на порту 443, скорее всего, из-за неправильной конфигурации VirtualHost.

Ваше здоровье!

В моем случае я забыл установить SSLEngine On в конфигурации.Вот так,

<VirtualHost _default_:443>
  SSLEngine On
  ...
</VirtualHost>

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslengine

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

Старый вопрос, но сначала я нашел результат в Google, так что вот что мне нужно было сделать.

Рабочий стол Ubuntu 12.04 с установленным Apache

Вся конфигурация и mod_ssl были установлены при установке Apache, но они просто еще не были связаны в нужных местах.Примечание:все пути ниже указаны относительно /etc/apache2/

mod_ssl хранится в ./mods-available, и конфигурация сайта SSL находится в ./sites-available, вам просто нужно связать их с правильными местами в ./mods-enabled и ./sites-enabled

cd /etc/apache2
cd ./mods-enabled
sudo ln -s ../mods-available/ssl.* ./
cd ../sites-enabled
sudo ln -s ../sites-available/default-ssl ./

Перезапустите Apache, и он должен работать.Я пытался получить доступ https://локальный хост, поэтому ваши результаты могут отличаться для внешнего доступа, но у меня это сработало.

Попросите пользователя указать точный URL-адрес, который он использует в своем браузере.Если они входят https://ваш.сайт:80, они могут получить ошибку ssl_error_rx_record_too_long.

В моем случае в файле виртуального хоста был указан неправильный IP-адрес.Прослушивание было 443, а строфа была <VirtualHost 192.168.0.1:443> но на сервере не было адреса 192.168.0.1!

Пожалуйста, посмотри эта ссылка.

Я просматривал все файлы журналов Apache, пока не нашел фактическую ошибку (я изменил <VirtualHost> от _default_ моему fqdn).Когда я исправил эту ошибку, все заработало нормально.

В моем случае проблема заключалась в том, что https не удалось запустить правильно, поскольку Listen 443 находился в директиве «IfDefine SSL», но мой apache не запускался с опцией -DSSL.Исправление заключалось в изменении моего сценария apachectl:

$HTTPD -k $ARGV

к:

$HTTPD -k $ARGV -DSSL

Надеюсь, это кому-нибудь поможет.

Моя проблема была связана с НИЗКИМ MTU через VPN-соединение.

netsh interface ipv4 show inter

Idx  Met   MTU   State        Name
---  ---  -----  -----------  -------------------
  1 4275 4294967295  connected    Loopback Pseudo-Interface 1
 10 4250   **1300**  connected    Wireless Network Connection
 31   25   1400  connected    Remote Access to XYZ Network

Исправить:netsh интерфейс ipv4 устанавливает интерфейс «Беспроводное сетевое соединение» mtu=1400

Это также может быть проблемой при подключении без VPN...

У меня была испорченная конфигурация виртуального хоста.Помните, что вам нужен один виртуальный хост без SSL для порта 80 и еще один с SSL для порта 443.Вы не можете иметь оба на одном виртуальном хосте, как это пыталась сделать конфигурация, созданная Webmin.

У меня была такая же проблема в каком-то браузере при доступе к моему сайту SSL.Я нашел это Мне пришлось дать FireFox правильный прокси (FireFox имел прямой доступ к Интернету).

В зависимости от конфигурации локальной сети (туннелирование, фильтрация, перенаправление прокси) режим «прямого доступа к Интернету» для FireFox выдает эту ошибку.

Вы также можете попробовать исправить файл хостов.

Сохраните файл vhost с полным доменом и добавьте имя хоста в файл хостов. /etc/хосты (дебиан)

ip.ip.ip.ip name name.domain.com

После перезапуска apache2 ошибка должна исчезнуть.

Для меня решение заключалось в том, что мой ddclient не работал должным образом...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top