*.example.com
我已经在 Apache/Ubuntu 14.04 上部署了通配符证书 (Comodo PlatinumSSL) 。如果客户端访问,一切正常,https://www.example.com
但https://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.com
或sub.foo.example.com
。这意味着您需要获得包含*.example.com
和example.com
作为主题备用名称的证书,或者如果您只需要www
和 裸域名,那么您可以获得仅包含www.example.com
和 的更便宜的证书example.com
。