SSL证书文件通常包含.crt和.key,有时还有CA中间证书。要强调文件权限和路径规范,这是常见出错点。SSL证书的安装步骤会因服务器类型(如Apache、Nginx、IIS等)和操作系统而有所不同,但核心流程是相似的。下面是通用步骤和常见服务器的具体操作步骤:
通用安装流程
1. 获取证书文件:
从证书颁发机构(CA)购买或申请免费证书(如Let's Encrypt)。
完成域名验证后,CA会通过邮件或账户提供证书文件(通常包含以下内容):
域名证书文件(.crt, .pem, 或 .cer):你的主证书。
证书链文件/中间证书文件(ca_bundle.crt, intermediate.crt):连接你的证书到根证书的中间CA证书(非常重要)。
私钥文件(.key):在生成CSR时创建的私钥文件(必须妥善保管,绝不泄露!)。
2. 上传文件到服务器:
将证书文件(.crt/.pem)、证书链文件(ca_bundle.crt)和私钥文件(.key)上传到服务器上的安全目录(如 /etc/ssl/ 或 C:\SSL\)。确保目录权限安全(通常只有管理员/root可读写)。
3. 配置Web服务器:
根据你的服务器软件,编辑相应的配置文件(通常是虚拟主机配置文件)。
指定以下关键路径:
证书文件路径(包含公钥)。
私钥文件路径。
证书链文件路径(确保完整信任链)。
4. 重启/重载Web服务器:
应用新的配置(例如 sudo systemctl restart apache2 或 sudo systemctl restart nginx)。
5. 验证安装:
访问 https://yourdomain.com,检查浏览器地址栏是否有锁图标。
使用在线工具验证(如 SSL Labs SSL Test)。
使用命令行工具检查(如 openssl s_client -connect yourdomain.com:443 -showcerts)。
常见服务器具体配置步骤
1. Apache HTTP Server
1. 将证书文件(如 yourdomain.crt)、证书链文件(如 ca_bundle.crt)和私钥文件(如 yourdomain.key)上传到服务器(如 /etc/ssl/certs/ 和 /etc/ssl/private/)。
2. 编辑对应的虚拟主机配置文件(通常在 /etc/apache2/sites-available/ 或 /etc/httpd/conf.d/):
apache
复制
下载
<VirtualHost *:443>
ServerName yourdomain.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain.crt # 主证书
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key # 私钥
SSLCertificateChainFile /etc/ssl/certs/ca_bundle.crt # 证书链(中间证书)
其他配置...
</VirtualHost>
3. 启用SSL模块(如果未启用):sudo a2enmod ssl
4. 启用站点配置:sudo a2ensite your-ssl-site-config.conf
5. 重启Apache:sudo systemctl restart apache2
2. Nginx
1. 将证书文件(如 yourdomain.crt)、证书链文件(如 ca_bundle.crt)和私钥文件(如 yourdomain.key)上传到服务器(如 /etc/nginx/ssl/)。
2. 编辑对应的Server Block配置文件(通常在 /etc/nginx/sites-available/):
nginx
复制
下载
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/nginx/ssl/yourdomain.crt; # 通常是主证书+中间证书合并的文件
ssl_certificate_key /etc/nginx/ssl/yourdomain.key; # 私钥
推荐做法:将主证书和中间证书合并成一个文件
cat yourdomain.crt ca_bundle.crt > combined.crt
然后指定:ssl_certificate /etc/nginx/ssl/combined.crt;
其他SSL优化配置(如协议、加密套件等)...
}
3. 测试Nginx配置:sudo nginx -t
4. 重启Nginx:sudo systemctl restart nginx
3. Microsoft IIS (Internet Information Services)
1. 导入证书:
打开 IIS管理器。
在左侧连接树中点击服务器名。
双击打开 “服务器证书”。
在右侧操作面板点击 “导入...”。
选择包含私钥的证书文件(通常是 .pfx 格式),输入申请证书时设置的PFX密码。选择证书存储为 “个人”。
2. 绑定证书到网站:
在IIS管理器左侧连接树中,展开 “站点”,选择要绑定的网站。
在右侧操作面板点击 “绑定...”。
在网站绑定窗口中点击 “添加...”。
类型:https;端口:443。
在 “ SSL证书” 下拉菜单中,选择你刚刚导入的证书。
点击 “确定”。
3. 重启网站或应用池:应用更改。
4. cPanel / Plesk 等控制面板
cPanel:
进入 “SSL/TLS” 部分。
点击 “管理SSL站点”。
选择要安装证书的域名。
在对应输入框中粘贴:
证书(CRT):你的主证书内容。
私钥(KEY):你的私钥内容。
证书颁发机构包(CABUNDLE):中间证书内容。
点击 “安装证书”。
Plesk:
进入 “网站与域名” > 选择域名 > “SSL/TLS证书”。
点击 “添加SSL/TLS证书”。
输入证书名称,粘贴证书(CRT)、私钥(KEY)和中间证书(CA Bundle)内容。
勾选 “保护网站” 或点击 “保护” 按钮应用到该域名。
5. 云平台(AWS ALB, Azure App Gateway, Cloudflare)
通常不需要在实例上安装,而是在负载均衡器/网关/CDN层面配置:
AWS ALB:在EC2控制台 > 负载均衡器 > 监听器 > 添加HTTPS监听器 > 选择/上传ACM证书或自定义证书。
Azure App Gateway:在网关设置 > SSL 配置 > 上传PFX证书及密码。
Cloudflare:在SSL/TLS设置中选择 “完全(严格)” 模式,Cloudflare提供边缘证书;也可上传自定义证书(企业版)。
用户安装过程中有九条注意事项
1. 私钥安全:私钥(.key文件)是核心机密,必须严格保密,权限设置为仅管理员可读(如 600)。
2. 完整证书链:缺少中间证书会导致浏览器显示“不受信任”警告。确保正确包含中间证书。
3. 文件格式:注意不同服务器要求的格式(PEM, CRT, CER, PFX/PKCS#12)。必要时用OpenSSL转换。
4. 配置语法:严格遵循服务器配置文件的语法要求。
5. 强制HTTPS:安装后,配置HTTP到HTTPS的重定向(如301重定向)。
6. 防火墙:确保服务器防火墙开放了443端口(HTTPS)。
7. 测试:务必使用SSL测试工具进行全面检查(信任链、协议、加密套件、HSTS等)。
8. 备份:修改配置文件前务必备份!
9. 续订:注意证书有效期(免费证书通常3个月,商业证书1-2年),设置自动续订或提醒。
用户如果遇到问题,请先检查服务器错误日志(如Apache的 error.log,Nginx的 error.log),通常会给出明确的错误原因(如文件路径错误、权限问题、格式错误、端口冲突等)。