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

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

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

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

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

解决方案

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


当前回答

在我的情况下,我在虚拟主机文件中有错误的IP地址。监听是443,节是<VirtualHost 192.168.0.1:443>,但是服务器没有192.168.0.1地址!

其他回答

我的问题是由于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连接的问题…

在我的情况下,我在虚拟主机文件中有错误的IP地址。监听是443,节是<VirtualHost 192.168.0.1:443>,但是服务器没有192.168.0.1地址!

在我的情况下,我必须将<VirtualHost *>更改为<VirtualHost *:80>(这是Ubuntu上的默认值)。否则,端口443没有使用SSL,而是将普通HTML发送回浏览器。

您可以很容易地检查这是否是您的情况:只需连接到服务器http://www.example.com:443。如果您看到的是纯HTML,那么您的Apache根本没有在端口443上使用SSL,很可能是由于VirtualHost配置错误。

干杯!

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

安装了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,所以你的结果可能会因外部访问而异,但这对我来说是有效的。

在我的例子中,我忘记在配置中设置SSLEngine On。像这样,

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

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