ssl_error_rx_record_too_long и Apache SSL
У меня есть клиент, пытающийся получить доступ к одному из моих сайтов, и он продолжает получать эту ошибку> ssl_error_rx_record_too_long
Они получают эту ошибку во всех браузерах, на всех платформах. Я не могу воспроизвести проблему вообще.
Мой сервер и я расположены в США, клиент находится в Индии.
Я гуглил проблему, и основной источник, кажется, что порт SSL говорит по HTTP. Я проверил свой сервер, и это не происходит. Я попробовал решение, упомянутое здесь, но клиент заявил, что это не решило проблему.
Может кто-нибудь сказать мне, как я могу это исправить, или как я могу воспроизвести это???
РЕШЕНИЕ
Оказывается, у клиента был неправильно настроен локальный прокси!
Надеюсь, что это поможет любому найти этот вопрос, пытаясь отладить его в будущем.
15 ответов
Ссылка, упомянутая 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, проверьте конфигурацию vhost. Некоторые пользователи сообщили об изменении
<VirtualHost>
в_default_
разрешил ошибку.
Это решило мою проблему. Редко я гуглю сообщение об ошибке и получаю первый удар с правильным ответом!:-)
В дополнение к вышесказанному, вот некоторые другие решения, которые, как обнаружили другие люди, вызывали проблему:
Убедитесь, что ваш сертификат SSL не истек
Попробуйте указать Шифр:
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3
Решением для меня было то, что default-ssl
не был включен в apache 2.... просто ставлю SSLEngine On
Я должен был казнить a2ensite default-ssl
и все заработало.
В моем случае мне пришлось изменить
Вы можете легко проверить, действительно ли это ваш случай: просто подключитесь к вашему серверу http://www.example.com:443/. Если вы видите простой HTML, ваш Apache вообще не использует SSL на порту 443, скорее всего из-за неверной конфигурации VirtualHost.
Ура!
В моем случае я забыл установить SSLEngine On
в конфигурации. Вот так,
<VirtualHost _default_:443>
SSLEngine On
...
</VirtualHost>
Если у вас возникла ошибка после установки нового https vhost, и конфигурация кажется правильной, не забудьте ссылку в sites-enabled
тоже.
Старый вопрос, но сначала результат в Google для меня, так что вот что я должен был сделать.
Ubuntu 12.04 Desktop с установленным 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://localhost/, поэтому ваши результаты могут отличаться для внешнего доступа, но это сработало для меня.
В моем случае у меня был неправильный IP-адрес в файле виртуального хоста. Слушал было 443, и строфа была <VirtualHost 192.168.0.1:443>
но у сервера не было адреса 192.168.0.1!
Узнайте у пользователя точный URL, который они используют в своем браузере. Если они вводят https://your.site:80/, они могут получить ошибку ssl_error_rx_record_too_long.
Пожалуйста, смотрите эту ссылку.
Я просматривал все мои файлы журнала apache, пока не обнаружил фактическую ошибку (я изменил <VirtualHost>
от _default_
к моему fqdn
). Когда я исправил эту ошибку, все работало нормально.
Вы также можете попробовать исправить файл hosts.
Сохраните файл vhost с полностью определенным доменом и добавьте имя хоста в файл hosts / etc / hosts (debian)
ip.ip.ip.ip name name.domain.com
После перезапуска apache2 ошибка должна исчезнуть.
Моя проблема была из-за НИЗКОГО 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 также...
В моем случае проблема заключалась в том, что https не удалось запустить правильно, потому что Listen 443 находился в состоянии "IfDefine SSL", но мой apache не запускался с опцией -DSSL. Исправление состояло в том, чтобы изменить мой скрипт apachectl в:
$HTTPD -k $ARGV
чтобы:
$HTTPD -k $ARGV -DSSL
Надеюсь, это кому-нибудь поможет.
У меня испортился конфиг виртуального хоста. Помните, что вам нужен один виртуальный хост без SSL для порта 80, а другой - с SSL для порта 443. Вы не можете иметь оба на одном виртуальном хосте, как попытался сгенерированный веб-конфигурацией.
У меня была такая же проблема в каком-то браузере для доступа к моему сайту SSL. Я обнаружил, что должен был предоставить fireFox правильный прокси-сервер (FireFox имел прямой доступ к Интернету).
В зависимости от конфигурации локальной сети (туннелирование, фильтрация, перенаправление прокси), режим "прямой доступ к Интернету" для FireFox выдает эту ошибку.
Для меня решение состояло в том, что мой клиент не работал правильно...