我有一个客户试图访问我的一个站点,他们一直得到这个错误> ssl_error_rx_record_too_long
他们在所有浏览器,所有平台上都得到这个错误。我根本无法重现这道题。
我和我的服务器位于美国,客户位于印度。
我在谷歌上搜索了这个问题,主要来源似乎是SSL端口在HTTP中说话。我查了我的服务器,这是不可能的。我尝试了这里提到的解决方案,但客户表示它没有解决问题。
有没有人能告诉我如何修复这个,或者如何复制这个?
解决方案
原来客户有一个配置错误的本地代理!
我有一个客户试图访问我的一个站点,他们一直得到这个错误> ssl_error_rx_record_too_long
他们在所有浏览器,所有平台上都得到这个错误。我根本无法重现这道题。
我和我的服务器位于美国,客户位于印度。
我在谷歌上搜索了这个问题,主要来源似乎是SSL端口在HTTP中说话。我查了我的服务器,这是不可能的。我尝试了这里提到的解决方案,但客户表示它没有解决问题。
有没有人能告诉我如何修复这个,或者如何复制这个?
解决方案
原来客户有一个配置错误的本地代理!
当前回答
如果你在设置一个新的https vhost后出现错误,并且配置似乎是正确的,记得也要链接到sites-enabled。
其他回答
在我的情况下,我必须将<VirtualHost *>更改为<VirtualHost *:80>(这是Ubuntu上的默认值)。否则,端口443没有使用SSL,而是将普通HTML发送回浏览器。
您可以很容易地检查这是否是您的情况:只需连接到服务器http://www.example.com:443。如果您看到的是纯HTML,那么您的Apache根本没有在端口443上使用SSL,很可能是由于VirtualHost配置错误。
干杯!
在我的例子中,我忘记在配置中设置SSLEngine On。像这样,
<VirtualHost _default_:443>
SSLEngine On
...
</VirtualHost>
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslengine
我的解决方案是默认ssl没有在apache 2....中启用只是打开SSLEngine
我必须执行a2ensite default-ssl,一切正常。
在我的情况下,问题是https无法正确启动,因为听443是在“IfDefine SSL”的指示,但我的apache没有开始与-DSSL选项。修复是改变我的apachectl脚本:
$HTTPD -k $ARGV
to:
$HTTPD -k $ARGV -DSSL
希望这对大家有所帮助。
我有一个混乱的虚拟主机配置。请记住,80端口需要一个不带SSL的虚拟主机,443端口需要另一个带SSL的虚拟主机。您不能像webmin生成的配置所尝试的那样,在一个虚拟主机中同时拥有两者。