我已经查看了许多关于服务器故障的操作指南和其他帖子,但似乎都不起作用,在 Firefox 中我总是得到相同的错误 (ssl_error_rx_record_too_long)。我从 GoDaddy 购买了 SSL 证书,并将所有文件安装到我的 Debian 服务器的 /etc/apache2/ssl 中。我的 /etc/apache2/ports.conf 如下所示(删除了注释):
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
NameVirtualHost *:443
Listen 443 ssl
</IfModule>
以下是我的 /etc/apache2/sites-available/default-ssl 的样子:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.cayugaserver.info
ServerAlias cayugaserver.info
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
</VirtualHost>
<VirtualHost _default_:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/a23a14d4f3b5b1bd.crt
SSLCertificateKeyFile /etc/apache2/ssl/cayugaserver.info.key
SSLCACertificateFile /etc/apache2/ssl/gd_bundle-g2-g1.crt
ServerAdmin webmaster@localhost
ServerName www.cayugaserver.info
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
</VirtualHost>
我已经检查过了,模块 ssl 已通过 sudo a2enmod ssl 加载,站点 default-ssl 已通过 sudo a2ensite default-ssl 启用。此外,该站点在未加密的情况下运行完全正常。我最好的猜测是我不知何故使用了错误的文件进行加密,但我仍然不太确定。
答案1
您的 SSL 虚拟主机配置错误。
尝试使用SSLCertificateChainFile
而不是SSLCACertificateFile
- 您下载的软件包应该用作中间的证书,而不是证书颁发机构。
仅当您的操作系统本地没有根证书或 CA 证书时,您才需要使用该SSLCACertificateFile
选项 - 大多数情况下,使用知名公共 CA 的最新证书都不会出现这种情况。