尝试在Apache上设置SSL证书时,您可能会遇到以下错误:
错误代码: ssl_error_rx_record_too_long
(Firefox)或 Internet Explorer cannot display the webpage
(IE)
通常,您配置错误(就像监听端口一样: 443
)。 首先,请确保您的防火墙或iptables允许传入连接 443
(命令在Ubuntu上显示):
#sudo ufw允许443
那可能并不能解决您的问题,但是现在尝试转到以下地址:
http://www.domain.tld:443
如果您在上面的页面上成功看到了某些内容,则意味着您的站点正在该端口上侦听非SSL。 我假设您的apache虚拟主机文件包含以下内容:
名称VirtualHost *
您要做的是强制您的虚拟主机专门在适当的端口上侦听。 将上面的行更改为以下内容:
名称VirtualHost *:80
如果您使用的是Ubuntu ports.conf
文件应该有 443
在侦听端口上启用。 您可能也有 default-ssl
列在您的 /etc/apache2/sites-available/
文件夹,在这种情况下,您可能要启用以下功能:
#sudo a2ensite / etc / apache2 / sites-available / default-ssl
基本上,该文件包含以下内容:
...您的服务器名称/文档根目录... SSLCertificateFile /etc/ssl/certs/server.crt上的SSLEngine SSLCertificateKeyFile /etc/ssl/private/server.key
虽然可以将单个“共享” SSL证书用于多个主机,但是如果每个主机都需要自己的证书 SSL,他们将需要静态IP地址。
其他建议:
- 确保该端口
443
已在服务器上打开并启用。 这是HTTPS通信的标准端口。 - 如果SSL使用的是非标准端口,则Firefox 3有时会出现此错误。 确保SSL在端口上运行
443
. - 如果使用Apache2,请检查您是否正在使用端口
443
用于SSL。 可以通过设置ports.conf
文件如下:听80听443 https
- 确保您不超过一个 SSL证书 共享相同的IP地址。 请确保所有SSL证书都使用其自己的专用IP地址。
- 如果使用Apache2,请检查您的
vhost
配置。 一些用户报告说已更改为_default_
解决了错误。