SSL证书安装全流程
一 准备与申请
- 选择证书类型:常见有 DV(域名验证)、OV(组织验证)、EV(扩展验证);按业务场景选择单域名、多域名或通配符证书。
- 生成私钥与 CSR(证书签名请求):在服务器上生成私钥和 CSR,提交 CSR 给 CA(证书颁发机构) 申请证书。
- 域名所有权验证:按 CA 要求完成 DNS 验证(添加 TXT 记录) 或 文件验证(放置验证文件);使用 Let’s Encrypt 时可借助 Certbot 自动完成验证与签发。
- 下载证书文件:通常包含服务器证书(如 .crt/.pem)、中间证书/CA Bundle;若由 CA 提供文本格式,可转换为 CRT 文件使用。
二 安装与配置示例
- 通用准备
- 备份现有配置(如 Nginx 配置目录 /etc/nginx/)。
- 将证书与私钥上传至安全目录(如 /etc/nginx/ssl/ 或 /usr/local/ssl/crt/),权限最小化。
- 规划监听 443 端口并准备 HTTP 到 HTTPS 的重定向。
- Nginx 示例
- 证书路径:ssl_certificate 指向含服务器证书与中间证书的链文件(如 fullchain.pem 或 your_domain.crt);ssl_certificate_key 指向私钥(如 privkey.pem 或 your_domain.key)。
- 核心配置片段:
- listen 443 ssl;
- ssl_protocols TLSv1.2 TLSv1.3;
- ssl_ciphers HIGH:!aNULL:!MD5;
- Apache 示例
- 启用 SSL 模块并在虚拟主机中配置:
- SSLEngine on
- SSLCertificateFile 指向服务器证书(如 fullchain.pem 或 your_domain.crt)
- SSLCertificateKeyFile 指向私钥(如 privkey.pem 或 your_domain.key)
- 其他平台
- Microsoft IIS:使用 IIS 管理器导入证书(含中间证书链),并绑定到目标网站与 443 端口。
三 验证与优化
- 连通性与浏览器验证:重启服务后访问 https://your_domain,确认地址栏显示锁形图标,证书链完整无报错。
- 功能与合规检查:确保启用 TLS 1.2/1.3,禁用不安全协议与弱套件;按需开启 HTTP → HTTPS 重定向(将 80 端口请求跳转至 443)。
- 持续运维:定期检查证书到期时间并续签;使用自动化工具(如 Certbot)可简化续期与部署流程。
四 常见问题与排错
- 证书链不完整:浏览器提示不受信任,通常是未正确配置 中间证书/CA Bundle;请将中间证书与服务器证书合并或按服务器要求配置链文件。
- 端口与防火墙:确认云安全组/本机防火墙已放行 443 端口。
- 私钥不匹配:证书与私钥不匹配会导致握手失败;核对私钥与 CSR/证书对应关系。
- 配置语法错误:修改后先执行配置语法检查与重载,避免因语法错误导致服务中断。
- 权限问题:证书与私钥文件权限应仅对必要用户可读,避免因权限不当导致服务无法读取。