我有一个客户试图访问我的一个站点,他们一直得到这个错误> ssl_error_rx_record_too_long
他们在所有浏览器,所有平台上都得到这个错误。我根本无法重现这道题。
我和我的服务器位于美国,客户位于印度。
我在谷歌上搜索了这个问题,主要来源似乎是SSL端口在HTTP中说话。我查了我的服务器,这是不可能的。我尝试了这里提到的解决方案,但客户表示它没有解决问题。
有没有人能告诉我如何修复这个,或者如何复制这个?
解决方案
原来客户有一个配置错误的本地代理!
我有一个客户试图访问我的一个站点,他们一直得到这个错误> ssl_error_rx_record_too_long
他们在所有浏览器,所有平台上都得到这个错误。我根本无法重现这道题。
我和我的服务器位于美国,客户位于印度。
我在谷歌上搜索了这个问题,主要来源似乎是SSL端口在HTTP中说话。我查了我的服务器,这是不可能的。我尝试了这里提到的解决方案,但客户表示它没有解决问题。
有没有人能告诉我如何修复这个,或者如何复制这个?
解决方案
原来客户有一个配置错误的本地代理!
向用户询问他们在浏览器中使用的确切URL。如果输入https://your.site:80,可能会收到ssl_error_rx_record_too_long错误。
在我的情况下,问题是https无法正确启动,因为听443是在“IfDefine SSL”的指示,但我的apache没有开始与-DSSL选项。修复是改变我的apachectl脚本:
$HTTPD -k $ARGV
to:
$HTTPD -k $ARGV -DSSL
希望这对大家有所帮助。
在我的例子中,我忘记在配置中设置SSLEngine On。像这样,
<VirtualHost _default_:443>
SSLEngine On
...
</VirtualHost>
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslengine
在我的情况下,我必须将<VirtualHost *>更改为<VirtualHost *:80>(这是Ubuntu上的默认值)。否则,端口443没有使用SSL,而是将普通HTML发送回浏览器。
您可以很容易地检查这是否是您的情况:只需连接到服务器http://www.example.com:443。如果您看到的是纯HTML,那么您的Apache根本没有在端口443上使用SSL,很可能是由于VirtualHost配置错误。
干杯!
我的问题是由于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连接的问题…
我有一个混乱的虚拟主机配置。请记住,80端口需要一个不带SSL的虚拟主机,443端口需要另一个带SSL的虚拟主机。您不能像webmin生成的配置所尝试的那样,在一个虚拟主机中同时拥有两者。
我在某些浏览器访问我的SSL网站时遇到了同样的问题。 我发现我必须给fireFox正确的代理(fireFox直接访问互联网)。
根据局域网配置(隧道、过滤、代理重定向),FireFox的“直接访问internet”模式会抛出此错误。
请看这个链接。
我查看了所有的apache日志文件,直到我发现了实际的错误(我已经将<VirtualHost>从_default_更改为我的fqdn)。当我修复这个错误时,一切都正常工作。
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
在我的情况下,我在虚拟主机文件中有错误的IP地址。监听是443,节是<VirtualHost 192.168.0.1:443>,但是服务器没有192.168.0.1地址!
老问题了,但第一个结果是谷歌,这就是我要做的。
安装了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,所以你的结果可能会因外部访问而异,但这对我来说是有效的。
您还可以尝试修复hosts文件。
保留vhost文件和完全限定的域,并在hosts文件/etc/hosts (debian)中添加主机名
ip.ip.ip.ip name name.domain.com
重新启动apache2后,错误应该消失了。