我有一个客户试图访问我的一个站点,他们一直得到这个错误> ssl_error_rx_record_too_long

他们在所有浏览器,所有平台上都得到这个错误。我根本无法重现这道题。

我和我的服务器位于美国,客户位于印度。

我在谷歌上搜索了这个问题,主要来源似乎是SSL端口在HTTP中说话。我查了我的服务器,这是不可能的。我尝试了这里提到的解决方案,但客户表示它没有解决问题。

有没有人能告诉我如何修复这个,或者如何复制这个?

解决方案

原来客户有一个配置错误的本地代理!


当前回答

老问题了,但第一个结果是谷歌,这就是我要做的。

安装了Apache的Ubuntu 12.04桌面

当我安装Apache时,所有的配置和mod_ssl都已经安装了,但是还没有链接到正确的位置。注意:以下所有路径都相对于/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,所以你的结果可能会因外部访问而异,但这对我来说是有效的。

其他回答

我的问题是由于VPN连接上的低MTU。

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

解决办法: 设置接口“无线网络连接”mtu=1400

这也可能是非vpn连接的问题…

向用户询问他们在浏览器中使用的确切URL。如果输入https://your.site:80,可能会收到ssl_error_rx_record_too_long错误。

老问题了,但第一个结果是谷歌,这就是我要做的。

安装了Apache的Ubuntu 12.04桌面

当我安装Apache时,所有的配置和mod_ssl都已经安装了,但是还没有链接到正确的位置。注意:以下所有路径都相对于/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,所以你的结果可能会因外部访问而异,但这对我来说是有效的。

如果你在设置一个新的https vhost后出现错误,并且配置似乎是正确的,记得也要链接到sites-enabled。

Subimage提到的链接对我来说是正确的。它建议更改虚拟主机标记,例如,从<VirtualHost myserver.example.com:443>到<VirtualHost _default_:443>

Error code: ssl_error_rx_record_too_long This usually means the implementation of SSL on your server is not correct. The error is usually caused by a server side problem which the server administrator will need to investigate. Below are some things we recommend trying. Ensure that port 443 is open and enabled on your server. This is the standard port for https communications. If SSL is using a non-standard port then FireFox 3 can sometimes give this error. Ensure SSL is running on port 443. If using Apache2 check that you are using port 443 for SSL. This can be done by setting the ports.conf file as follows Listen 80 Listen 443 https Make sure you do not have more than one SSL certificate sharing the same IP. Please ensure that all SSL certificates utilise their own dedicated IP. If using Apache2 check your vhost config. Some users have reported changing <VirtualHost> to _default_ resolved the error.

这解决了我的问题。我很少收到错误消息,但第一次找到正确答案!: -)

除了以上这些,还有一些其他人发现的导致这个问题的解决方案:

请确保您的SSL证书没有过期 尝试指定密码: SSLCipherSuite: aNULL:抗利尿激素:! eNULL:低:!经验:RC4 + RSA: +高:+媒介:+ SSLv3