温馨提示×

centos如何替换证书文件

小樊
42
2026-09-15 10:45:09
栏目: 智能运维

在 CentOS 上“替换证书文件”通常取决于证书用在什么地方(Web 服务器、系统信任、负载均衡等)。下面按常见场景给你说明。


一、替换 Web 服务器证书

1. Nginx

一般证书路径:

/etc/nginx/ssl/xxx.crt
/etc/nginx/ssl/xxx.key

步骤:

# 备份旧证书
cp /etc/nginx/ssl/xxx.crt /etc/nginx/ssl/xxx.crt.bak
cp /etc/nginx/ssl/xxx.key /etc/nginx/ssl/xxx.key.bak

# 替换证书
cp new_cert.crt /etc/nginx/ssl/xxx.crt
cp new_key.key /etc/nginx/ssl/xxx.key

# 检查配置
nginx -t

# 重载 Nginx
systemctl reload nginx

2. Apache(httpd)

常见路径:

/etc/pki/tls/certs/xxx.crt
/etc/pki/tls/private/xxx.key

步骤:

cp new_cert.crt /etc/pki/tls/certs/xxx.crt
cp new_key.key /etc/pki/tls/private/xxx.key

httpd -t
systemctl reload httpd

二、替换系统信任证书(CA 证书)

适用于:

  • 内部 CA
  • 自定义根证书

CentOS 7

cp my-ca.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust

CentOS 8 / Stream

cp my-ca.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust

三、替换服务自身证书(如 Cockpit、LDAP、Postfix)

Cockpit

/etc/cockpit/ws-certs.d/

放入:

0-my-cert.crt
0-my-cert.key

然后:

systemctl restart cockpit

四、替换 Let’s Encrypt 证书(certbot)

如果是 certbot 管理的:

certbot renew
# 或强制
certbot renew --force-renewal

不要手动改 /etc/letsencrypt/live/ 下的文件。


五、替换后通用检查

# 查看证书信息
openssl x509 -in xxx.crt -noout -dates -subject

# 测试 HTTPS
curl -v https://域名

六、常见注意事项

  • 私钥权限建议 600
  • Nginx/Apache 用户需可读证书
  • 替换后一定要 reload 而不是只 restart
  • 多节点环境需同步证书

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 用的是什么服务(Nginx / Apache / 系统 / 其他)

我可以给你精确到命令的替换方案

0