如何使用 SSL SAN 配置 Apache 虚拟主机

如何使用 SSL SAN 配置 Apache 虚拟主机

我正在使用多 SAN SSL 证书。所有域都使用相同的文档根目录、重写规则和其他设置。

因此,我配置了(缩短):

<VirtualHost *:443>
ServerName domain-a.com
ServerAlias domain-b.com
// usual cert and settings here
</VirtualHost>

这对域 a 有效,但不适用于域 b。

如果我设置为:

<VirtualHost *:443>
ServerName domain-a.com   
// usual cert and settings here
</VirtualHost>

<VirtualHost *:443>
ServerName domain-b.com    
// usual cert and settings here
</VirtualHost>

它确实有效。但这似乎是不必要的麻烦,因为我要为每个域重复所有的证书/设置(有很多)

通过阅读,我确信我不能拥有多个 ServerName,并且我会假设 SSL 不喜欢 ServerAlias。

但是有没有更好的方法可以做到这一点?至少,有没有办法复制所有标准证书/重写规则(一种“包含”),以便每个VirtualHost只有几行?

答案1

您可以搜索支持 SAN 的 CA(主题备用名称)。然后你可以申请一个证书,其中包含多个主机。

Let's Encrypt 也支持它。你可以查看这一页. 每个证书最多支持 100 个名称。

你应该添加

NameVirtualHost *:443

在服务器定义之前。

相关内容