温馨提示×

centos怎样替换证书文件

小樊
53
2026-10-09 05:23:08
栏目: 智能运维

在 CentOS 上“替换证书文件”通常分系统级证书和应用级证书两种情况。下面按常见场景给你说明。


一、替换系统信任的 CA 证书(CentOS 7/8)

适用于:

  • 替换受信任的根证书
  • 解决 curl / wget / 系统工具报证书错误

1. 将新证书放入目录

sudo cp your-ca.crt /etc/pki/ca-trust/source/anchors/

2. 更新证书信任库

sudo update-ca-trust extract

✅ 完成后,系统会重新加载证书。


二、替换 Nginx 的 SSL 证书

适用于 Web 服务(最常见)

1. 备份旧证书

sudo cp /etc/nginx/ssl/server.crt /etc/nginx/ssl/server.crt.bak
sudo cp /etc/nginx/ssl/server.key /etc/nginx/ssl/server.key.bak

2. 替换证书文件

sudo cp new-server.crt /etc/nginx/ssl/server.crt
sudo cp new-server.key /etc/nginx/ssl/server.key

3. 检查配置并重启

sudo nginx -t
sudo systemctl restart nginx

三、替换 Apache 的 SSL 证书

1. 替换证书

sudo cp new-cert.crt /etc/pki/tls/certs/localhost.crt
sudo cp new-key.key /etc/pki/tls/private/localhost.key

2. 重启 Apache

sudo systemctl restart httpd

四、替换服务自身证书(如 MySQL / PostgreSQL)

MySQL 示例

sudo cp new-server-cert.pem /var/lib/mysql/server-cert.pem
sudo cp new-server-key.pem /var/lib/mysql/server-key.pem
sudo systemctl restart mysqld

五、注意事项(很重要)

  1. 证书和私钥权限
    chmod 600 server.key
    chown root:root server.key
    
  2. 私钥不能泄露
  3. 重启相关服务才生效
  4. 确认证书链完整(尤其 Nginx 需要 fullchain)

六、快速排查命令

openssl x509 -in server.crt -noout -dates
openssl s_client -connect domain.com:443

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 替换的是哪种证书(系统 / Nginx / Apache / 其他)

我可以给你更精确的操作步骤。

0 踩