SSL 证书配置实操手册:从申请到部署

发布时间:2026-06-25 20:15

面向服务器运维人员的 SSL 证书完整配置流程,涵盖证书申请、Web 服务器安装与自动化续期,确保服务 HTTPS 化安全可靠。

证书类型与申请准备

选择证书时需区分 DV、OV、EV 三种验证级别。生产环境推荐使用 OV 或 EV 证书,内部系统可采用 DV 证书。申请前需生成 CSR 文件,执行命令:openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr,填写 Common Name 与备用域名,注意密钥长度不低于 2048 位。

Nginx 部署 SSL

将签发的证书文件与私钥上传至服务器指定目录,如 /etc/nginx/ssl。编辑站点配置文件,在 server 块中加入 listen 443 ssl,指定 ssl_certificate 和 ssl_certificate_key 路径。开启 HTTP/2 并配置安全协议套件:ssl_protocols TLSv1.2 TLSv1.3;,设置兼容性较好的加密套件,然后执行 nginx -t 检查配置并重载服务。

Apache 配置要点

启用 SSL 模块后,在虚拟主机配置中使用 SSLEngine on 指令。指定 SSLCertificateFile、SSLCertificateKeyFile 及 SSLCertificateChainFile。建议添加 HSTS 头部:Header always set Strict-Transport-Security "max-age=63072000"。完成配置后使用 apachectl configtest 测试语法,并通过 systemctl 重启服务。

自动化续期方案

使用 Certbot 或 acme.sh 实现免费证书自动续期。以 acme.sh 为例,完成一次手动配置后,工具会添加计划任务。可通过 acme.sh --install-cert -d example.com --key-file /path/key --fullchain-file /path/cert --reloadcmd "systemctl reload nginx" 将证书安装到指定路径并自动重载服务,避免证书过期造成业务中断。

常见问题处理

证书链不完整导致部分客户端不信任时,需补全中间证书;私钥权限设置应限制为 root 仅读(600);同时检查防火墙放行 443 端口。面对混合内容警告,需将页面内全部资源链接替换为 HTTPS,或使用 Content-Security-Policy 头强制升级请求。