DigiCert SSL证书怎么部署?
DigiCert SSL证书签发后,不能直接把证书文件上传到服务器就结束了,还需要根据服务器类型配置证书、私钥和中间证书链。Nginx和Apache一般使用CRT/PEM证书配合KEY私钥,IIS一般导入PFX证书,Tomcat则可以使用PFX/PKCS#12或JKS。
如果证书已经签发,首先确认手里有以下文件:
- 服务器证书:一般为
.crt、.cer或.pem - 私钥文件:一般为
.key - 中间证书:DigiCert提供的 CA Chain / Intermediate Certificate
- 如果是 IIS 或其他Windows服务器,也可能直接使用
.pfx
DigiCert 官方提供了针对不同服务器的安装指南。(DigiCert)
一、DigiCert SSL证书部署前需要准备什么?
以使用 OpenSSL 生成 CSR 的情况为例,申请证书时一般会生成:
www.example.com.key
www.example.com.csr
其中:
.csr用于提交给 DigiCert 申请证书;.key是与 CSR 对应的私钥;- DigiCert 签发后,会提供服务器证书以及相应的中间证书。
私钥不会由 DigiCert重新生成,也不应该上传给CA。
因此,安装证书之前一定要确认:
服务器证书
+
对应私钥
+
DigiCert中间证书
三者能够正确匹配。
可以先检查证书和私钥是否属于同一对:
openssl x509 -noout -modulus -in server.crt | openssl sha256
openssl rsa -noout -modulus -in private.key | openssl sha256
如果两条命令输出的摘要不同,说明证书和私钥不是同一对,不能直接部署。
二、Nginx部署DigiCert SSL证书
Nginx是比较常见的部署环境。
1. 合并服务器证书和中间证书
如果 DigiCert 分别提供服务器证书和中间证书,可以生成完整证书链:
cat server.crt DigiCertCA.crt > fullchain.crt
注意顺序:
服务器证书
↓
中间证书
不要把根证书放在服务器证书前面。
2. 配置Nginx
编辑网站对应的 Nginx 配置:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/ssl/fullchain.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
root /var/www/html;
}
如果服务器同时提供 HTTP 服务,可以将 HTTP 请求重定向到 HTTPS:
server {
listen 80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
3. 检查配置并重载
nginx -t
确认没有错误后:
systemctl reload nginx
DigiCert官方的 Apache/OpenSSL 部署流程同样要求将服务器证书、私钥和中间证书正确配置到服务器上。(DigiCert知识库)
三、Apache部署DigiCert SSL证书
Apache一般需要配置:
服务器证书
私钥
中间证书
例如:
<VirtualHost *:443>
ServerName www.example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
SSLCertificateChainFile /etc/ssl/certs/DigiCertCA.crt
DocumentRoot /var/www/html
</VirtualHost>
不同 Apache 版本对证书链指令的处理有所区别。如果 SSLCertificateChainFile 不适用,应按照当前 Apache/mod_ssl 版本的方式配置完整链。
检查配置:
apachectl configtest
或者部分系统使用:
apache2ctl configtest
确认:
Syntax OK
再重启:
systemctl restart httpd
Ubuntu/Debian 系统可能使用:
systemctl restart apache2
DigiCert官方也建议在重启 Apache 前先进行配置检查,避免配置错误导致服务无法正常启动。(DigiCert知识库)
四、IIS部署DigiCert SSL证书
如果服务器是 Windows Server + IIS,部署方式与 Linux 不同。
IIS最方便的格式是:
.pfx
因为PFX可以同时保存:
- 服务器证书
- 私钥
- 证书链
1. 导入PFX
打开:
IIS管理器 → 服务器 → Server Certificates(服务器证书)
选择:
Import(导入)
选择 DigiCert 提供的 PFX 文件,输入PFX密码。
证书导入后,可以在服务器证书列表中看到该证书。
DigiCert官方的 IIS 8/8.5 安装流程也是先将证书导入证书存储,再通过网站的 Bindings 配置HTTPS。(DigiCert知识库)
2. 添加HTTPS绑定
进入:
网站 → 目标网站 → 绑定 → 添加
设置:
类型:https
IP地址:指定IP或全部未分配
端口:443
主机名:www.example.com
SSL证书:选择刚刚导入的DigiCert证书
如果同一台 IIS 服务器部署多个 HTTPS 网站,还需要根据实际环境配置 SNI。
3. 检查证书
完成绑定后访问:
https://www.example.com
检查:
- 域名是否匹配;
- 证书是否由 DigiCert 签发;
- 有效期是否正确;
- 证书链是否完整。
五、Tomcat部署DigiCert SSL证书
Tomcat属于Java环境。
现在不必为了部署 DigiCert 证书而强制使用 JKS。PKCS#12(PFX/P12)同样可以直接作为 Tomcat 的 keystore 使用。
方法一:使用PFX/PKCS#12
如果已经有:
server.crt
private.key
DigiCertCA.crt
可以使用 OpenSSL 生成 P12:
openssl pkcs12 -export \
-in server.crt \
-inkey private.key \
-certfile DigiCertCA.crt \
-name tomcat \
-out keystore.p12
然后在 Tomcat 中配置:
<Connector
port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/path/to/keystore.p12"
keystorePass="your_password"
keystoreType="PKCS12" />
具体 Connector 参数会根据 Tomcat 版本有所区别。
DigiCert官方也提供了直接使用 PFX/PKCS#12 配置 Tomcat 的方案。(DigiCert知识库)
方法二:使用JKS
如果现有Java系统要求 JKS,也可以使用:
keytool -importkeystore \
-srckeystore keystore.p12 \
-srcstoretype PKCS12 \
-destkeystore keystore.jks \
-deststoretype JKS
然后让 Tomcat 使用:
keystore.jks
需要注意的是,安装 DigiCert 返回的证书时必须使用生成 CSR 时的同一个 keystore 和 alias,否则很容易出现“证书与私钥不匹配”的问题。DigiCert官方的 Keytool 部署文档也特别强调了这一点。(DigiCert知识库)
六、DigiCert证书部署完成后怎么检查?
证书安装完成后,不建议只用浏览器看一下就结束。
可以先执行:
openssl s_client \
-connect www.example.com:443 \
-servername www.example.com \
-showcerts
重点检查:
Certificate chain
确认服务器返回的证书链是否完整。
也可以使用:
curl -I https://www.example.com
检查HTTPS连接是否正常。
如果网站可以从公网访问,还可以使用 DigiCert 官方的证书检测工具进行检查。DigiCert也建议通过其 Server Certificate Tester 检查常见的证书部署问题。(DigiCert知识库)
七、DigiCert证书部署最容易出现的几个问题
1. 浏览器提示证书不受信任
首先检查服务器是否发送了完整的中间证书链。
很多时候并不是 DigiCert 证书本身有问题,而是服务器只发送了:
服务器证书
却没有发送:
中间证书
2. 证书和私钥不匹配
如果出现:
Private key does not match certificate
一般是安装时使用了错误的 .key 文件。
尤其是在更换服务器、重新生成 CSR 后,这种情况比较常见。
3. 访问域名与证书不匹配
例如证书只包含:
www.example.com
但用户访问:
example.com
如果证书 SAN 中没有 example.com,浏览器就会报告域名不匹配。
4. Nginx配置了证书,却没有配置完整链
Nginx一般应该使用:
ssl_certificate /path/to/fullchain.crt;
ssl_certificate_key /path/to/private.key;
而不是只指定服务器证书。
5. IIS导入了证书,却没有HTTPS绑定
在 IIS 中“看到证书”并不等于网站已经使用证书。
还需要:
网站 → 绑定 → HTTPS → 443 → 选择证书
八、DigiCert证书到底需要哪些文件?
可以简单记成下面这张表:
| 服务器 | 主要证书文件 | 私钥 | 证书链 |
|---|---|---|---|
| Nginx | CRT/PEM | KEY | 需要 |
| Apache | CRT/PEM | KEY | 需要 |
| IIS | PFX | 已包含 | 已包含/导入 |
| Tomcat | P12/PFX或JKS | 已包含 | 已包含 |
| F5/负载均衡 | PEM/CRT等 | KEY | 需要 |
所以,**DigiCert证书并没有一套独立于服务器的“特殊安装方法”**。真正决定部署方式的是服务器平台和证书文件格式。DigiCert官方也按照 IIS、Apache、Tomcat、Nginx 等不同平台分别提供安装说明。



京公网安备11010502031690号
网站经营企业工商营业执照
















