带有多个crt文件的apacheconf
我买了Comodo PositiveSSL,得到了4个crt文件:带有多个crt文件的apacheconf,apache,ssl,Apache,Ssl,我买了Comodo PositiveSSL,得到了4个crt文件: AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt domain.com.crt 我有这个配置: <VirtualHost *:443> ServerName domain.com ServerAlias www.domain.com SSLEngine on SSLCerti
AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
domain.com.crt
我有这个配置:
<VirtualHost *:443>
ServerName domain.com
ServerAlias www.domain.com
SSLEngine on
SSLCertificateFile /var/www/domain.com/domain.com.crt
SSLCertificateKeyFile /var/www/domain.com/domain.com.key
ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain.com/html
<Directory /var/www/domain.com/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
https连接工作正常,但浏览器似乎看不到我的签名。我认为问题在于将所有4个文件添加到apache配置中,但我不知道怎么做 这些文件是证书链。有根域证书,有中间证书,还有您自己的证书 您自己的证书已被
SSLCertificateFile
引用。根证书通常安装在用户的浏览器中(这是您支付的费用……事实上,他们向浏览器供应商支付了包含其根证书的费用)
但是您的证书不是直接从根证书派生的,但是有这些
由于您没有直接从浏览器中的某个根证书派生的证书,因此必须将整个证书链传递给用户。(是的,根证书也有一个完整的链。)
这通常是通过将所有三个文件放入一个cert文件(比如intermediate.comdo.crt)并在Apache配置中引用它们来完成的。它看起来是这样的:
…
SSLEngine on
SSLCertificateFile /var/www/domain.com/domain.com.crt
SSLCertificateChainFile /var/www/domain.com/intermediate.comodo.crt
SSLCertificateKeyFile /var/www/domain.com/domain.com.key
…
此文件中的证书的顺序必须正确…根在顶部,然后在链的底部(IIRC,但您可能需要尝试不同的顺序)
如果您的服务器是公用的,请使用SSLlabs服务测试您的设置:(注意,在使用不同配置进行多次测试时,每次更改后都必须清除它们的缓存。否则,您将立即从上次对服务器的测试中获得结果。)谢谢,这非常有用。我开始搜索这个方向的信息,发现这篇文章帮助我完成了任务,经过两个小时的战斗。。。
…
SSLEngine on
SSLCertificateFile /var/www/domain.com/domain.com.crt
SSLCertificateChainFile /var/www/domain.com/intermediate.comodo.crt
SSLCertificateKeyFile /var/www/domain.com/domain.com.key
…