申请前的准备
免费 SSL 证书的申请本身并不复杂,但准备不足会导致验证反复失败。动手前先对照下面这张清单逐项确认:
| 前置条件 | 说明 | 不满足时的后果 |
|---|---|---|
| 域名已实名并正常解析 | 域名的 A / AAAA 记录指向服务器公网 IP | 无法通过验证,签发失败 |
| 服务器公网可访问 | 云服务器安全组、防火墙放行对应端口 | 验证请求无法到达 |
| 80 端口可达(HTTP 验证) | 公网能访问服务器的 80 端口 | HTTP-01 验证超时 |
| 可管理 DNS 解析(DNS 验证) | 能添加 _acme-challenge TXT 记录 | DNS-01 验证失败 |
| 预留一个邮箱 | 用于注册 ACME 账户与接收到期通知 | 无法接收续期提醒 |
如果 80 端口被运营商封锁、服务器在内网或前面挂了 CDN,也不要紧,改用 DNS 验证即可绕过 80 端口依赖,后面会细讲。另外,刚修改的 DNS 解析需要一段时间才能在全球生效,验证失败时不妨先确认解析已经传播到位。
三种申请方式对比
拿到证书的路径不止一条,主流方式有三类:
| 申请方式 | 上手难度 | 自动化程度 | 适合人群 |
|---|---|---|---|
| 在线网页工具 | 低 | 低,需手动续期 | 临时应急、少量证书 |
| 命令行工具(certbot / acme.sh) | 高,需熟悉 Shell | 高,可脚本化 | 熟悉命令行的运维 |
| 图形化工具 ToSSL | 低,中文界面点选 | 高,到期前自动续期 | 个人站长、运维新人 |
如果你不熟悉命令行,又想享受自动续期,图形化工具是很省心的选择:ToSSL 全程点选操作,无需写任何脚本。
域名验证详解
无论用哪种工具,签发 DV 证书前 CA 都要先验证你对域名的控制权,最常见的是两种方式:
- HTTP-01:CA 让你在域名的 80 端口提供一个特定文件,它访问成功后即认为你控制该域名。优点是零配置、速度快,缺点是依赖 80 端口可公网访问。
- DNS-01:CA 让你在域名下添加一条 _acme-challenge 开头的 TXT 记录,它查询到该记录即验证通过。优点是不依赖 80 端口、支持通配符证书,缺点是要求你能改 DNS 解析。
选择原则很简单:80 端口可用就选 HTTP-01;80 端口不可用、或要申请 *.example.com 通配符证书时,选 DNS-01。DNS 验证的完整细节可参考 DNS 验证教程。
下载并安装证书
验证通过后,CA 会返回证书文件,核心是两个:
- fullchain.pem:完整的证书链,包含站点证书与中间证书,部署时用这个;
- privkey.pem:私钥文件,务必妥善保管、权限设为仅本人可读,泄露即等于证书作废。
用图形化工具申请时,证书会自动下载到本机指定目录,在「证书详情」页能看到文件路径,后续部署直接引用即可。
部署到 nginx / Apache
以 nginx 为例,在 443 端口的 server 块中引用证书即可:
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
root /var/www/html;
}
}
Apache 的配置思路类似,使用 SSLCertificateFile 与 SSLCertificateKeyFile 指定证书与私钥路径。部署完成后用浏览器访问 https:// 确认锁形图标正常显示,并记得把 80 端口 301 跳转到 443;同时建议开启 HSTS,让浏览器始终以 HTTPS 访问,避免后续出现混合内容或降级跳转的问题。Linux 服务器上安装部署的详细步骤可参考 Linux 安装说明。
配置自动续期
免费证书有效期短,手动续期必然遗忘。务必在签发后立即把续期配置好:图形化工具通常默认开启自动续期并驻留后台,命令行工具则通过定时任务实现。只要自动续期在到期前正常触发,证书就能长期无缝使用,不会出现访问报错。
单域名、多域名与通配符怎么选
申请时还需要决定证书覆盖哪些域名,常见三种形态:
- 单域名证书:只保护一个域名(如 www.example.com),结构最简单,适合只有一个站点的场景;
- 多域名证书(SAN):一张证书同时列出多个不相关的域名,适合域名不多但比较分散的情况;
- 通配符证书:用 *.example.com 覆盖主域名与全部一级子域名,适合子域名很多的站点。
如果只是给一个网站启用 HTTPS,选单域名即可;子域名超过两三个时,再考虑通配符证书,能显著减少证书数量与管理成本。
常见问题
- 验证失败怎么办? 先检查域名解析是否生效、端口是否放行,再重试;HTTP 验证的具体排查可参考 HTTP 验证排查指南。
- 证书申请成功后怎么换服务器? 直接拷贝整个证书目录(含 fullchain.pem 与 privkey.pem)到新服务器即可。
- 多久需要申请一次? 无需反复申请,配置好自动续期后由工具自动完成。
走完「准备 → 申请 → 验证 → 部署 → 续期」这五步,网站就完成了从 HTTP 到 HTTPS 的升级。第一次操作可以参考 快速开始教程,几分钟即可跑通全流程。