ssl_error_rx_record_too_long и Apache SSL [закрыто]
-
02-07-2019 - |
Вопрос
У меня есть клиент, который пытается получить доступ к одному из моих сайтов, и он продолжает получать эту ошибку > 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>
Если у вас возникла ошибка после настройки нового виртуального хоста 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 не работал должным образом...