文档中心
Nginx鏈嶅姟鍣⊿SL璇佷功鏇存崲鍏ㄦ敾鐣ラ浂鍩虹涔熻兘杞绘澗鎼炲畾锛?txt
时间 : 2025-09-27 16:27:05浏览量 : 3

****
SSL证书是网站安全的“门锁”,过期或配置错误会导致浏览器警告,甚至数据泄露。作为运维人员,定期更换SSL证书是基本功。本文以Nginx为例,手把手教你从证书申请到配置生效的全流程,并附赠避坑指南!
一、为什么要换SSL证书?
1. 证书过期:免费证书(如Let's Encrypt)通常只有90天有效期。
*举例:去年某电商因忘记更新证书,导致用户访问时跳“不安全”提示,当天损失百万订单。*
2. 安全升级:旧证书可能使用弱加密算法(如SHA-1),需替换为更安全的SHA-256。
3. 域名变更:新增子域名(如从 `example.com` 扩展到 `shop.example.com`)需更新证书。
二、准备工作:4个关键文件别搞错
更换前确保你有以下文件(以腾讯云申请为例):
- 域名证书文件(`.crt` 或 `.pem`):类似“身份证”
- 私钥文件(`.key`):相当于“保险箱钥匙”,绝不能泄露!
- CA中间证书链(`chain.crt`):证明证书由合法机构签发
*小技巧*:用 `ls -l` 检查文件权限,私钥应设为600(仅所有者可读):
```bash
chmod 600 example.com.key
```
三、Nginx配置实战步骤
步骤1:上传新证书到服务器
推荐存放路径(方便管理):
/etc/nginx/ssl/example.com/
├── new_cert.crt
新证书
├── new_key.key
新私钥
└── chain.crt
中间链
步骤2:修改Nginx配置文件
找到你的站点配置文件(通常在 `/etc/nginx/sites-enabled/`),修改 `server` 块中的SSL部分:
```nginx
server {
listen 443 ssl;
server_name example.com;
↓↓↓ 关键配置 ↓↓↓
ssl_certificate /etc/nginx/ssl/example.com/new_cert.crt;
ssl_certificate_key /etc/nginx/ssl/example.com/new_key.key;
ssl_trusted_certificate /etc/nginx/ssl/example.com/chain.crt;
其他原有配置保持不变...
}
步骤3:测试并重载配置
先检查语法是否正确,避免重启失败导致服务中断:
sudo nginx -t
看到"ok"和"successful"才继续
sudo systemctl reload nginx
热重载不中断服务
四、验证是否生效的3种方法
1. 浏览器直接访问HTTPS网址:地址栏显示??且无警告。
2. 命令行工具检测:用OpenSSL检查有效期和签发者:
```bash
openssl x509 -in new_cert.crt -noout -dates
```
3. 在线工具扫描:[SSL Labs](https://www.ssllabs.com/)输入域名可查详细评分。
五、常见踩坑与解决方案
? 坑1:“私钥不匹配”报错
*现象*:Nginx报错 `SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch`
? *解决方法*:用OpenSSL比对MD5值是否一致:
openssl x509 -noout -modulus -in new_cert.crt | openssl md5
openssl rsa -noout -modulus -in new_key.key | openssl md5
两个结果必须相同!
? 坑2:“证书链不完整”
*现象*:某些旧设备(如Android手机)提示“不受信任的证书”。
? *解决方法*:合并中间链和主证书为一个文件:
cat new_cert.crt chain.crt > fullchain.crt
然后在Nginx中指向 `fullchain.crt`。
六、自动化进阶技巧
如果你用Let's Encrypt免费证书,推荐使用Certbot自动续期:
sudo certbot renew --dry-run
模拟测试续期
sudo certbot renew --force-renewal && systemctl reload nginx
搭配Cron定时任务彻底告别手动更新!
*
更换SSL证书看似简单,但一个空格错误都可能让网站瘫痪。建议先在测试环境演练,并收藏本文作为应急手册。遇到问题?欢迎在评论区留言交流!
TAG:nginx服务器更换ssl证书,nginx如何配置ssl证书,nginx sslv3,nginx替换ssl证书不生效,nginx更换证书不生效,nginx替换证书