温馨提示×

centos如何替换证书

小樊
48
2026-10-03 08:04:34
栏目: 智能运维

在 CentOS 上“替换证书”通常指替换 Web 服务器(Nginx / Apache)、系统信任证书 或 服务证书(如 MySQL、Postfix)。下面按常见场景说明。


一、替换 Nginx 证书(最常见)

1. 准备新证书

通常有:

  • 证书:fullchain.pem 或 cert.pem
  • 私钥:privkey.pem 或 key.pem

2. 上传证书

mkdir -p /etc/nginx/ssl
cp fullchain.pem /etc/nginx/ssl/
cp privkey.pem /etc/nginx/ssl/

3. 修改 Nginx 配置

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/privkey.pem;
}

4. 检查并重启

nginx -t
systemctl restart nginx

二、替换 Apache 证书

1. 上传证书

cp fullchain.pem /etc/pki/tls/certs/
cp privkey.pem /etc/pki/tls/private/

2. 修改配置

SSLCertificateFile /etc/pki/tls/certs/fullchain.pem
SSLCertificateKeyFile /etc/pki/tls/private/privkey.pem

3. 重启

systemctl restart httpd

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

适用于:自签 CA、内网证书不被信任

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

验证:

openssl verify -CAfile /etc/pki/tls/certs/ca-bundle.crt test.crt

四、Let’s Encrypt 证书自动替换

如果使用 certbot:

certbot renew

或手动强制:

certbot renew --force-renewal

Nginx 示例:

certbot --nginx

五、其他服务证书(示例)

MySQL

cp server-cert.pem /var/lib/mysql/
cp server-key.pem /var/lib/mysql/
chown mysql:mysql /var/lib/mysql/*.pem
systemctl restart mysqld

六、常见问题

✅ 证书不生效

  • 是否重启服务
  • 是否用错 fullchain / cert
  • 时间是否同步(ntpdate)

✅ 私钥权限

chmod 600 privkey.pem

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 替换的是哪种证书(Nginx / Apache / 系统 / 某个服务)

我可以给你更精确的命令。

0 踩