具有多个域和子域的Apache SSL证书的最小配置

时间:2019-03-05 04:14:01

标签: apache apache2.4

我正在尝试创建更“干净”的最小配置。

在我的默认SSL 中:

 <VirtualHost _default_:443>
  ServerName example.co
  DocumentRoot /var/www/html/example
  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/example.co/cert.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.co/privkey.pem
  SSLCertificateChainFile /etc/letsencrypt/live/example.co/chain.pem
 </VirtualHost>
 <VirtualHost *:443>
  ServerName example2.co
  DocumentRoot /var/www/html/example2
  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/example2.co/cert.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example2.co/privkey.pem
  SSLCertificateChainFile /etc/letsencrypt/live/example2.co/chain.pem
 </VirtualHost>
 <VirtualHost *:443>
  ServerAlias subdomain1.*
  DocumentRoot /var/www/html/example/subdomain1
 </VirtualHost>
 <VirtualHost *:443>
  ServerAlias subdomain2.*
  DocumentRoot /var/www/html/example/subdomain2
 </VirtualHost>

但是,example2证书不会扩展到任何子域或其他虚拟主机。

我正在将多个域(example.co和example2.co)用于每个域的通配符证书。

我也有多个具有相同文档根目录的子域(即sub.example.co和sub.example2.co具有相同的根目录)。

由于某些原因,默认:443上的证书会扩展到所有子域。但是对于example2.co,它不会扩展example2.co证书。

所以sub.example.co是安全的,而sub.example2.co是不安全的。

如果我添加ServerAlias * .example2.co,则所有文档根目录都会变得不正确。因此,我需要创建数十个虚拟主机组合才能使其正常工作。

我正在努力避免一遍又一遍地复制相同的内容。

我希望所有子域在使用与其顶级域名(TLD)相关联的证书时都具有文档根目录。

apache是​​否可以以最少的代码应用基于TDL的证书,同时应用基于子域的文档根目录?

0 个答案:

没有答案