ssl_error_rx_record_too_long和Apache SSL
我有一个客户试图访问我的网站之一,并且他们不断收到此错误> ssl_error_rx_record_too_long
他们在所有浏览器,所有平台上都收到此错误。我根本无法重现该问题。
我的服务器和我本人位于美国,客户位于印度。
我在问题上用谷歌搜索,主要来源似乎是SSL端口以HTTP讲话。我检查了服务器,但没有发生。我尝试了此处提到的解决方案,但客户表示无法解决问题。
谁能告诉我如何解决此问题,或者如何重现此问题???
解决方案
原来该客户的本地代理配置错误!
希望这可以帮助任何人在以后尝试调试该问题时找到它。
解决方案
向用户询问他们在浏览器中使用的确切URL。如果他们输入https://your.site:80,他们可能会收到ssl_error_rx_record_too_long错误。
在我的情况下,问题是https无法正确启动,因为Listen 443位于" IfDefine SSL"伪指令中,但是我的Apache并非以-DSSL选项开头。解决方法是在以下位置更改我的apachectl脚本:
$HTTPD -k $ARGV
到:
$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
使固定:
netsh接口ipv4设置接口"无线网络连接" mtu = 1400
这也可能是非VPN连接上的问题...
我搞砸了虚拟主机配置。请记住,我们需要一个不带SSL的虚拟主机用于端口80,另一个需要带SSL的虚拟主机用于端口443. 我们不能在一个虚拟主机中同时拥有这两个主机,因为webmin生成的配置试图这样做。
我在使用某些浏览器访问SSL站点时遇到了同样的问题。
我发现我必须给fireFox正确的代理(FireFox直接访问Internet)。
根据局域网配置(隧道,过滤,代理重定向),FireFox的"直接访问Internet"模式会引发此错误。
对我来说,解决方案是在Apache 2中未启用" default-ssl"。
我不得不执行a2ensite default-ssl
,一切正常。
请查看此链接。
我查看了所有的Apache日志文件,直到找到实际的错误为止(我已将<VirtualHost>从_default_更改为fqdn)。当我修复此错误后,一切正常。
如果在设置新的https vhost后出现错误,并且配置似乎正确,请记住也要链接到" sites-enabled"。