不允许使用多个 RSA 服务器证书

不允许使用多个 RSA 服务器证书

我购买了多域证书,并尝试将其安装在我的服务器上。

我将以下信息放入我的网站之一的虚拟主机中:

<VirtualHost *:443>
...
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/16478325.crt
SSLCertificateKeyFile /etc/apache2/ssl/private.key
SSLCertificateChainFile /etc/apache2/ssl/16478325.ca-bundle
...

然后我尝试重新启动 apache,但失败了,并被告知检查我的 apache 日志。

收到的错误消息是这样的:

Init: Multiple RSA server certificates not allowed

我认为这意味着我必须为整个站点安装 SSL 证书,而不是在一个域上。

但这也不起作用。

我收到错误:

Illegal attempt to re-initialise SSL for server (SSLEngine On should go in the VirtualHost, not in global scope.)

为什么这不起作用?如何将我的域配置为每个域都具有 SSL?

答案1

(评论摘要)

您与 Ubuntu/Debian 虚拟主机有冲突的 SSL 虚拟主机default-ssla2dissite default-ssl将解决眼前的问题。

Apache HTTP 服务器维基有一个配置基于名称的 SSL 虚拟主机的指南你应该回顾一下。该指南将它们全部显示在一个文件中,但您可以将不同的VirtualHost部分拆分到不同的文件(在sites-available/)中 - 无论如何,它们都包含在主配置中。您可以将诸如NameVirtualHostline inports.conf或 in 之类的内容放入conf-available//usr/share/doc/apache2/README.Debian.gz包含一些有关 Debian/Ubuntu apache 配置处理的文档。

答案2

您需要确保在配置文件中注释掉上面的样板 SSL 行。

    #SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
    #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

我刚才遇到了同样的问题,在我意识到这是我的飞行员错误之前发现了你的问题。

否则,一切都可以在同一主机上使用多个证书(这意味着同一主机上端口 443 的两个 VirtualHost 配置)。

相关内容