无法在 apache 2 上设置 https 访问(ssl_error_rx_record_too_long)

无法在 apache 2 上设置 https 访问(ssl_error_rx_record_too_long)

我已经查看了许多关于服务器故障的操作指南和其他帖子,但似乎都不起作用,在 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 的最新证书都不会出现这种情况。

相关内容