SSL证书申请与部署操作文档(DigiCert)
说明:本文档中所有域名、公司名称、IP地址均为示例,实际使用时请替换为真实信息。
一、生成私钥与CSR
1. 生成私钥(KEY)
openssl genrsa -out playground.example.com.key 2048私钥保管:此文件仅保存在本地,切勿外传,后续部署必须使用同一私钥。
2. 生成证书签名请求(CSR)
openssl req -new -key playground.example.com.key -out playground.example.com.csr \
-subj "/C=NL/ST=Noord-Holland/L=Amsterdam/O=Example B.V./CN=playground.example.com"字段说明(示例值):
| 字段 | 含义 | 示例值 |
|---|---|---|
C | 国家代码(两位) | NL |
ST | 省份/州 | Noord-Holland |
L | 城市 | Amsterdam |
O | 公司法定名称 | Example B.V. |
CN | 证书绑定的域名 | playground.example.com |
请将上述示例值替换为真实信息,尤其是 CN 必须与实际域名完全一致。3. 检查CSR内容(可选)
openssl req -in playground.example.com.csr -noout -text确认输出的 Subject 信息与申请内容一致,公钥算法应为 rsaEncryption (2048 bit)。
二、提交CSR并获取证书
- 将生成的
playground.example.com.csr文件内容提交给证书团队,由团队向 DigiCert 发起申请。 证书签发后,通常返回以下文件:
DigiCertCA.crt # 中间证书 INSTALL_INSTRUCTIONS.en.txt # 安装说明(多语言) playground_example_com.crt # 服务器证书
三、处理证书文件(适配Nginx)
将服务器证书与中间证书合并,生成 Nginx 所需的完整证书链文件:
# 重命名服务器证书(可选)
cp playground_example_com.crt server.pem
# 重命名中间证书(可选)
cp DigiCertCA.crt chain.pem
# 合并生成完整证书链(推荐)
cat playground_example_com.crt DigiCertCA.crt > fullchain.pem四、Nginx配置与部署
1. 修改Nginx配置文件
server {
listen 443 ssl;
server_name playground.example.com;
ssl_certificate /path/to/fullchain.pem; # 合并后的完整证书链
ssl_certificate_key /path/to/playground.example.com.key; # 步骤一生成的私钥
# 其余配置...
}2. 检查并重载Nginx
sudo nginx -t
sudo systemctl reload nginx # 或 nginx -s reload五、验证与测试
测试环境(修改本地hosts)
将测试服务器IP与域名绑定:
sudo vim /etc/hosts
# 添加:
127.0.0.1 playground.example.com然后浏览器访问 https://playground.example.com,确认证书有效且无安全警告。
生产环境
- DNS解析:在域名服务商处为
playground.example.com添加A记录或CNAME记录,指向生产服务器公网IP或负载均衡器的域名。 - SLB负载均衡:若使用云平台SLB,需将证书内容(
fullchain.pem)和私钥(playground.example.com.key)上传至SLB证书管理,并绑定443监听端口。
六、常见命令
校验私钥与证书是否匹配
openssl x509 -noout -modulus -in playground_example_com.crt | openssl md5
openssl rsa -noout -modulus -in playground.example.com.key | openssl md5两行输出结果完全一致即表示配对正确。