通配证书来自Entrust。
它似乎应该是相当简单,但我一直无法得到它的工作。
这是一个新的网站,在使用我们域名的通配证书之前,还没有与之关联的SSL证书。
我的虚拟主机条目如下:
<VirtualHost xxx.xxx.xx.xx:443> ServerAdmin [email protected] DocumentRoot /var/www/html/sitename ServerName site.company.com ErrorLog logs/site_log CustomLog logs/site_log common ErrorDocument 404 /customerrors/404.htm SSLEngine On SSLCertificateFile /etc/pki/tls/certs/wildcard.crt SSLCertificateKeyFile /etc/pki/tls/private/wildcard.key SSLCertificateChainFile /etc/pki/tls/certs/chain.crt </VirtualHost>
当我尝试通过SSL访问站点时,出现下面的错误(使用自签名证书时非常标准,而不是应该使用的通配符证书:
site.company.com uses an invalid security certificate. The certificate is not trusted because it is self-signed. The certificate is only valid for localhost (Error code: sec_error_untrusted_issuer)
我已经重新启动Apache,所以这不是问题。
正如Yasith在他的回答中所指出的那样,你可能需要configuration中的中间CA包,但这不是你得到的错误,因为你已经发布了你显然获得的一个蛇油证书。
鉴于蛇油证书,您需要检查该IP和端口443上的所有其他SSL服务器虚拟主机是否已closures。 我认为发生的事情是你已经configuration了真正的虚拟主机,但是并没有closuresApache提供的默认configuration。
通配符证书没有什么不同或特殊之处; 你会像任何其他证书一样实施它们。
你需要:
mod_ssl被启用, Listen 443 一个启用SSL的<VirtualHost> :
<VirtualHost *:443> ServerName example.com ServerAlias www.example.com SSLEngine On SSLCertificateFile /path/to/certificate.pem SSLCertificateKeyFile /path/to/private.key # all other config for the site; docroot, logging, access, etc </VirtualHost>
还要确保包含链文件。
<VirtualHost *:443> ServerAdmin [email protected] ServerName example.com ErrorLog /var/log/apache2/ssl-error.log LogLevel warn CustomLog /var/log/apache2/ssl-access.log combined ServerSignature On SSLEngine On SSLCertificateFile example.crt SSLCertificateKeyFile example.key SSLCertificateChainFile CA.crt </VirtualHost>