温馨提示×

centos如何导入ssl证书

小樊
34
2026-09-12 07:17:28
栏目: 云计算

在 CentOS 上“导入 SSL 证书”通常有几种常见场景,下面按最常用情况给你说明,你可以对照自己的需求来看。


一、Web 服务器使用 SSL(最常见:Nginx / Apache)

1️⃣ Nginx 导入 SSL 证书

假设你有以下文件:

  • example.com.crt(证书)
  • example.com.key(私钥)
  • example.com.ca.crt(中间证书,可选)

步骤

# 创建证书目录
mkdir -p /etc/nginx/ssl/example.com
cp example.com.crt /etc/nginx/ssl/example.com/
cp example.com.key /etc/nginx/ssl/example.com/
cp example.com.ca.crt /etc/nginx/ssl/example.com/

Nginx 配置

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/nginx/ssl/example.com/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key;
    ssl_trusted_certificate /etc/nginx/ssl/example.com/example.com.ca.crt;

    location / {
        root /usr/share/nginx/html;
        index index.html;
    }
}
nginx -t
systemctl restart nginx

2️⃣ Apache 导入 SSL 证书

mkdir -p /etc/httpd/conf/ssl/example.com
cp *.crt *.key /etc/httpd/conf/ssl/example.com/

Apache 配置

<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile /etc/httpd/conf/ssl/example.com/example.com.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl/example.com/example.com.key
    SSLCertificateChainFile /etc/httpd/conf/ssl/example.com/example.com.ca.crt
</VirtualHost>
systemctl restart httpd

二、将 CA 证书导入系统信任(用于内部 CA / 自签证书)

适用于:

  • curl 报错 SSL certificate problem
  • 程序不信任自签证书

CentOS 7 / 8 / Stream

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

验证:

curl https://example.com

三、Java 应用导入证书(如 Tomcat)

keytool -import -trustcacerts \
  -alias example \
  -file example.com.crt \
  -keystore $JAVA_HOME/jre/lib/security/cacerts \
  -storepass changeit

四、使用 Let’s Encrypt(推荐)

yum install certbot
certbot certonly --nginx -d example.com

证书路径:

/etc/letsencrypt/live/example.com/

五、常见排错

SSL_CTX / Permissions denied

chmod 600 /etc/nginx/ssl/example.com/*.key

❌ 浏览器不信任

  • 缺少中间证书
  • 证书域名不匹配

如果你能告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 用在什么服务(Nginx / Apache / Java / 系统)
  • ✅ 证书来源(Let’s Encrypt / 购买 / 自签)

我可以直接给你精确命令

0