通配符 SSL 证书不适用于裸域

通配符 SSL 证书不适用于裸域

*.example.com我已经在 Apache/Ubuntu 14.04 上部署了通配符证书 (Comodo PlatinumSSL) 。如果客户端访问,一切正常,https://www.example.comhttps://example.com在 Firefox 中抛出此错误:

example.com uses an invalid security certificate. 
The certificate is only valid for *.example.com 
(Error code: ssl_error_bad_cert_domain)

从 vhost 文件中摘录:

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        SSLEngine on
        ServerName example.com
        ServerAlias www.example.com *.example.com
        DocumentRoot /var/www/html
        SSLCertificateFile      /etc/ssl/localcerts/example_com.cer
        SSLCertificateKeyFile /etc/ssl/localcerts/example_com.key
        SSLCertificateChainFile /etc/ssl/localcerts/example_com_interm.cer
    </VirtualHost>
</IfModule>

如何在没有警告的情况下让 和 一起https://www.example.com工作https://example.com

答案1

通配符匹配单个最左边的标签。这是*.example.com匹配www.example.com,但不是example.comsub.foo.example.com。这意味着您需要获得包含*.example.comexample.com作为主题备用名称的证书,或者如果您只需要www和 裸域名,那么您可以获得仅包含www.example.com和 的更便宜的证书example.com

答案2

有关带有和不带有 www 域的证书的更多信息,请参阅这里

邮政与您的问题具有相同的主题,并且基本上表明除了购买新证书之外没有其他解决方法

相关内容