繁体   English   中英

带有几个crt文件的Apache conf

[英]Apache conf with several crt files

我购买了Comodo PositiveSSL并获得了4个crt文件:

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>

如何使用这3个文件:

AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt

https连接工作正常,但似乎浏览器看不到我的签名。 我认为问题是将所有4个文件添加到apache配置中,但是我不知道该怎么做。

这些文件是证书链。 有一个域证书,有中间证书,还有您自己的证书。

SSLCertificateFile已引用您自己的证书。 根证书通常安装在用户的浏览器中(这就是您所支付的费用……他们向浏览器供应商付款以包含其根证书这一事实)。

但是您的证书不是直接从根证书衍生而来,但是有这些中间证书

因为您没有直接从浏览器中的根证书之一派生的证书,所以必须将整个证书链交付给用户。 (是的,根证书也要具有完整的链。)

通常,这是通过将所有三个文件放入一个cert文件(例如,intermediate.comodo.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服务来测试您的设置: https ://www.ssllabs.com/ssltest/(请注意,使用不同的配置多次测试时,您必须在每次更改后清除其缓存。否则,会立即从他们对服务器的最后一次测试中获得结果。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM