SSL 证书安装部署指南
覆盖主流服务器与面板环境的证书部署教程,每篇均含完整配置示例与常见报错排查。
部署前准备清单
①确认已收到证书压缩包(含 .pem/.crt 证书文件与 .key 私钥);②确认服务器 443 端口已开放;③备份当前站点配置;④如使用 CDN / 负载均衡,需确认在其上配置还是源站配置。
Nginx 部署教程
适用 Nginx 1.18+。将证书文件上传至服务器后,编辑 Nginx 配置:
# Nginx 部署 SSL 证书
server {
listen 443 ssl;
http2 on; # 启用 HTTP/2
server_name www.example.com;
# 证书与私钥路径
ssl_certificate /etc/nginx/ssl/www.example.com.pem; # 证书链(含中间证书)
ssl_certificate_key /etc/nginx/ssl/www.example.com.key; # 私钥文件
# 安全加固配置
ssl_protocols TLSv1.2 TLSv1.3; # 仅保留安全协议
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
# OCSP 装订(提升握手性能)
ssl_stapling on;
ssl_stapling_verify on;
location / {
root /var/www/html;
index index.html;
}
}
# HTTP 301 强制跳转 HTTPS
server {
listen 80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
SSL_CTX_use_PrivateKey_file failed → 私钥与证书不匹配,确认两个文件来自同一次签发。
执行 nginx -t 检查配置,通过后 nginx -s reload 热加载生效,无需停机。
Apache 部署教程
确认已启用 mod_ssl 模块(a2enmod ssl),编辑虚拟主机配置:
# Apache 部署 SSL 证书(mod_ssl)ServerName www.example.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/httpd/ssl/www.example.com.crt # 证书文件 SSLCertificateKeyFile /etc/httpd/ssl/www.example.com.key # 私钥文件 SSLCertificateChainFile /etc/httpd/ssl/ca-chain.crt # 中间证书链 SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder on # 强制 HTTPS(可选,也可用 .htaccess) # RewriteEngine On # RewriteCond %{HTTPS} off # RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
执行 apachectl configtest 验证后平滑重启。注意 Apache 2.4.8+ 可将证书链合并到主证书文件,省去 SSLCertificateChainFile 配置。
IIS(Windows Server)部署教程
导入证书
打开 IIS 管理器 → 服务器证书 → 导入,选择 .pfx 格式证书文件并输入导出密码(若收到的是 .pem/.key,需先用 OpenSSL 转换为 .pfx)。
绑定到站点
选择站点 → 绑定 → 添加,类型选 https,端口 443,主机名填你的域名,证书选择刚导入的证书。
配置 HTTP 跳转
安装"URL 重写"模块后,在站点根目录 web.config 中添加 301 重写规则,将 HTTP 请求跳转到 HTTPS。
启用 TLS 1.2+
Windows Server 2012 及更早版本默认未启用 TLS 1.2,需通过注册表开启,并禁用 SSL 3.0 与 TLS 1.0。
Tomcat 部署教程
推荐使用 JSSE 方式配置。将证书转换为 JKS 或直接使用 PEM 配置:
宝塔面板部署教程(图形化)
进入站点设置
宝塔面板 → 网站 → 选择目标站点 → 设置 → SSL 选项卡。
粘贴证书内容
选择"其他证书",将 .pem 全文粘贴到"证书内容"框,.key 全文粘贴到"密钥内容"框。
保存并强制 HTTPS
点击保存后开启"强制 HTTPS"开关,宝塔会自动配置 301 跳转与 HSTS。
验证
浏览器访问 https:// 你的域名,确认地址栏出现安全锁;也可用在线工具复核证书链与协议配置。
部署后验证清单
- 浏览器访问 https:// 域名,地址栏出现安全锁标识,无警告
- 点击证书详情,确认证书链完整(根 + 中间 + 站点三级)
- 访问 http:// 域名,确认301 跳转到 HTTPS 生效
- 使用 SSL Labs 测试或我们的检测工具,评级达到 A 以上
- 排查页面混合内容(https 页面中引用 http 的图片/脚本会触发警告)
- 配置到期监控提醒,避免一年后重蹈覆辙
所有平台都可能遇到的 5 个问题
按顺序排查:①证书链不完整——最常见原因,未上传中间证书,用 openssl s_client -connect 域名:443 检查链完整性;②域名不匹配——证书签发的域名与访问域名不一致(如证书是 www 前缀但访问裸域名);③混合内容——页面内还引用了 http:// 的静态资源,浏览器控制台会具体标出;④缓存——强刷或无痕模式再试。
依次检查:①服务器防火墙 / 安全组是否放行 443(阿里云、腾讯云需在控制台安全组单独放行);②Web 服务是否监听 443,用 netstat -tlnp | grep 443 确认;③云上负载均衡是否已配置 HTTPS 监听并上传证书;④本地网络是否屏蔽了 443(少见,可换网络验证)。
.pem:Base64 文本格式,可同时容纳证书与私钥,Nginx/Apache 常用;.crt:证书文件(可能是 PEM 也可能是 DER 二进制);.key:私钥文件,务必保密;.pfx/.p12:打包了证书+私钥+链的二进制容器,IIS/Windows 常用,需密码。格式转换常用 OpenSSL:openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem。
不需要重启服务器,甚至多数情况无需重启 Web 服务:Nginx 使用 nginx -s reload 热加载,Apache 用 apachectl graceful 平滑重启,IIS 可直接"重新启动站点"。宝塔面板保存即生效。只有极少数老版本服务需要完整重启进程。
可以。标准 Nginx 不支持国密算法,需要使用支持国密的发行版(如铜锁 Tongsuo / Tengine 国密版),在同一 server 块中配置双证书后,握手阶段会根据客户端能力自适应协商:支持国密的浏览器走 SM2,其他走 RSA。政企双证书方案的详细配置我们提供专门文档与工程师协助。
不想自己动手?我们免费帮你装
提交工单或联系在线客服,工程师远程协助完成证书部署、强制跳转与混合内容排查,30 分钟内响应。