4份SSL证书从ISP迁移至Ubuntu20.04 Apache2服务器的配置问题
SSL证书文件识别与Apache配置指南
核心前提说明
- 你拿到的4份
.crt文件均为公钥证书类文件,没有包含私钥。私钥文件通常后缀为.key/.pem,是你当初提交CSR申请证书时在本地生成的,ISP不会留存私钥,你需要先找到私钥备份才能完成配置。
问题解答
1. 为什么会有4份证书文件?
你拿到的是Sectigo(原Comodo CA)签发的DV证书完整信任链,共4层结构:
根证书 → 一级中间CA证书 → 二级中间CA证书 → 你的站点实体证书
提供完整链文件是为了兼容不同服务端的配置需求,部分服务要求拆分配置证书和链,部分要求合并成单个文件。
2. 各文件对应配置关系
4份文件的具体身份如下:
[THE DOMAIN I AM MOVING]_com.crt:你的站点实体证书,对应配置项SSLCertificateFile,你已识别正确。SectigoRSADomainValidationSecureServerCA.crt:二级中间CA证书,直接为你的站点证书签名。USERTrustRSAAAACA.crt:一级中间CA证书,为二级中间CA证书签名。AAACertificateServices.crt:Sectigo根证书,自签名的信任根。
Apache要求的SSLCertificateChainFile需要填入完整的中间+根证书链,你可以将上述3份非站点证书按顺序合并为一个intermediate.crt文件使用。
3. 证书用途的标准识别方法
使用Linux内置的openssl工具即可查看任意证书的身份:
openssl x509 -in 证书文件名.crt -text -noout
查看输出中的两个字段即可梳理身份:
Subject:当前证书的持有人身份Issuer:签发当前证书的上级机构身份
按签发关系梳理即可理清完整信任链:站点证书的Issuer是二级中间CA的Subject,二级中间CA的Issuer是一级中间CA的Subject,一级中间CA的Issuer是根证书的Subject,根证书的Subject和Issuer完全一致(自签名)。
Apache配置实操步骤
- 确认已找到私钥文件
privatekey.key,没有的话需要重新生成CSR提交CA签发新证书。 - 合并证书链文件:
cat SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAAACA.crt AAACertificateServices.crt > intermediate.crt
- 按你找到的模板填写虚拟主机配置即可,若你使用的是Apache 2.4.8及以上版本,
SSLCertificateChainFile配置项已废弃,你可以直接将站点证书、中间证书、根证书按顺序合并到一个文件,填入SSLCertificateFile配置项即可,兼容性更好。
内容的提问来源于stack exchange,提问作者Norm Strassner
相关产品推荐
相关产品推荐

