通配符证书来自 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,所以这不是问题。
答案1
正如 Yasith 在他的回答中指出的那样,您可能需要配置中的中间 CA 包,但这不是您收到的错误,因为根据您所发布的内容,您显然获得了蛇油证书。
鉴于有骗人的证书,您需要检查该 IP 和端口 443 上的所有其他 SSL 服务器虚拟主机是否都已关闭。我认为发生的情况是,您已配置了真正的虚拟主机,但没有关闭 Apache 随附的默认配置。
答案2
通配符证书没有什么不同或特殊之处;您可以像任何其他证书一样实现它们。
你需要:
mod_ssl
启用,Listen 443
启用
<VirtualHost>
SSL 的:<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>
答案3
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/example.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/example.com.key
SSLCACertificateFile /etc/pki/tls/certs/root-certificate.crt #If using a self-signed certificate or a root certificate provided by ca-certificates, omit this line
ServerAdmin [email protected]
ServerName www.example.com
DocumentRoot /var/www/example.com/public_html/
ErrorLog /var/www/example.com/logs/error.log
CustomLog /var/www/example.com/logs/access.log combined
</VirtualHost>
答案4
另外还要确保包含链文件。
<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>