安装和部署SSL证书的步骤因服务器类型而异,以下是常见服务器的详细指南:
一、通用准备工作
获取证书文件(通常包含):
域名证书(如 domain.crt)
私钥文件(如 domain.key)
中间证书链文件(如 ca_bundle.crt)
上传文件到服务器(推荐路径):
bash
复制
/etc/ssl/certs/ # 证书文件
/etc/ssl/private/ # 私钥文件(注意权限)
二、各服务器配置指南
1. Apache HTTP Server
apache
复制
ServerName www.example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/domain.crt
SSLCertificateKeyFile /etc/ssl/private/domain.key
SSLCertificateChainFile /etc/ssl/certs/ca_bundle.crt
验证命令:
bash
复制
apachectl configtest # 检查配置
systemctl restart apache2
2. Nginx
nginx
复制
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/ssl/certs/domain.crt;
ssl_certificate_key /etc/ssl/private/domain.key;
# 证书链合并操作(可选)
# cat domain.crt ca_bundle.crt > combined.crt
# ssl_certificate /etc/ssl/certs/combined.crt;
}
验证命令:
bash
复制
nginx -t # 测试配置
systemctl reload nginx
3. IIS 服务器
打开IIS管理器 → 服务器证书
导入PFX文件(需提前将证书转换为.pfx格式)
站点绑定 → 添加HTTPS绑定
4. Tomcat(Java环境)
xml
复制
scheme="https" secure="true" SSLEnabled="true" keystoreFile="/path/to/keystore.jks" keystorePass="your_password" clientAuth="false" sslProtocol="TLS" /> 运行 HTML 三、强制HTTPS跳转 Apache示例: apache 复制 Redirect permanent / https://www.example.com/ Nginx示例: nginx 复制 server { listen 80; return 301 https://$host$request_uri; } 四、部署后验证 浏览器访问测试: 地址栏显示🔒标识 点击锁图标查看证书详情 在线检测工具: SSL Labs测试(https://www.ssllabs.com/ssltest/) Why No Padlock(检测混合内容问题) 命令行验证: bash 复制 openssl s_client -connect example.com:443 -servername example.com 五、高级注意事项 证书链完整性: 确保中间证书正确拼接(可使用 cat 命令合并) 推荐证书顺序:域名证书 → 中间证书 → 根证书(通常不需要) 性能优化: 启用OCSP Stapling(减少验证延迟) 配置HSTS头部(强制浏览器HTTPS连接) 证书维护: 设置证书到期提醒(推荐使用Certbot自动续期) 定期更新加密套件配置(禁用不安全的SSL/TLS版本) 六、常见问题排查 错误提示:"SSL_ERROR_BAD_CERT_DOMAIN" 检查证书包含的域名是否匹配 错误提示:"ERR_CERT_AUTHORITY_INVALID" 确认中间证书已正确安装 服务启动失败: 检查私钥文件权限(建议设置为600) 验证证书与私钥是否匹配: bash 复制 openssl x509 -noout -modulus -in domain.crt | openssl md5 openssl rsa -noout -modulus -in domain.key | openssl md5 建议新手使用Let's Encrypt的Certbot工具自动化部署: bash 复制 sudo certbot --apache # Apache自动配置 sudo certbot --nginx # Nginx自动配置