如何申请免费通配符SSL证书:一张证书保护所有子域名
最近帮一个客户给十几个子域名都装上SSL证书,如果一个一个申请得累死,直接用通配符证书一张搞定。这篇就把免费通配符SSL证书的申请方法详细写一下。
什么是通配符SSL证书
通配符证书(Wildcard Certificate)就是一张证书保护主域名下所有子域名,证书域名是 *.example.com,可以用于:
- •
www.example.com - •
api.example.com - •
blog.example.com - •
mail.example.com - •任何
xxx.example.com子域名
核心优势:一次申请覆盖所有子域名,新增子域名不用重新申请证书。
适合场景:有多个子域名的大型网站、SaaS平台、微服务架构。
通配符证书和单域名证书的区别
| 对比项 | 单域名证书 | 通配符证书 |
|---|---|---|
| 覆盖范围 | 一个域名 | 主域名+所有子域名 |
| 域名格式 | example.com | *.example.com |
| 新增子域名 | 需重新申请 | 自动覆盖 |
| 申请难度 | 简单 | 稍复杂(必须DNS验证) |
| 价格(付费版) | 便宜 | 较贵 |
免费证书方面:ZeroSSL和Let’s Encrypt都提供免费通配符证书,只是必须用DNS验证方式。
申请前准备
- •域名:拥有域名管理权限,能修改DNS解析
- •多子域名需求:确实有多个子域名需要HTTPS
- •DNS解析权限:这是通配符证书必须的
第一步:访问申请平台
打开 sslmianfei.com,首页输入框就是申请入口。
第二步:输入通配符域名
在输入框输入 *.example.com(把example.com换成你的域名)。
注意:
- •一定要带
*.前缀,否则会识别成单域名证书 - •
*只能匹配一级子域名,不能匹配多级(如a.b.example.com不能用) - •主域名
example.com不在通配符覆盖范围内,需要单独申请
第三步:确认证书类型
系统识别到 *. 前缀后会自动选择”通配符证书”类型,确认即可。
重要提示:通配符证书不包含主域名 example.com,如果需要主域名也用HTTPS,要么:
- 同时申请
*.example.com和example.com(多域名通配符证书) - 申请单域名证书
example.com+ 通配符证书*.example.com组合使用
第四步:选择验证方式
通配符证书只能用DNS验证,文件验证不支持通配符域名。
DNS验证的原理是:证书颁发机构要求你在 _acme-challenge.example.com 添加一条特定的TXT或CNAME记录,证明你拥有这个域名。
第五步:获取DNS验证记录
选择DNS验证后,系统会给你一条验证记录信息,类似:
记录类型:CNAME
主机记录:_abc123.example.com
记录值:verify.zerossl.com
或者TXT记录:
记录类型:TXT
主机记录:_acme-challenge.example.com
记录值:随机字符串
第六步:添加DNS记录
登录你的域名注册商后台,找到域名解析管理页面:
阿里云:控制台 → 域名 → 解析 → 添加记录
腾讯云:DNSPod → 域名解析 → 添加记录
Cloudflare:DNS → 添加记录
按系统给出的信息添加记录,主机记录值要完整填写,部分平台不需要写域名后缀。
第七步:等待DNS生效
DNS记录添加后需要等待全球DNS服务器同步,通常1-10分钟,最长可能30分钟。
可以用 nslookup 命令检查是否生效:
nslookup -type=CNAME _abc123.example.com 8.8.8.8
如果返回了记录值说明已经生效。
第八步:验证解析
回到 sslmianfei.com 的申请页面,点击”验证解析”按钮。
- •提示”解析验证未通过”:DNS还没生效,等几分钟再试
- •提示”解析验证成功”:证书自动签发,1.5秒后跳转下载页
第九步:下载证书
下载下来的证书包含:
- •certificate.crt:通配符证书文件
- •private.key:私钥
- •ca_bundle.crt:CA中间证书
保存好这三个文件。
第十步:部署到服务器
通配符证书部署到多个子域名的方法:
Nginx多站点部署:
每个子域名的server配置都使用相同的证书路径:
# www.example.com
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/ssl/fullchain.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
# ...
}
# api.example.com
server {
listen 443 ssl;
server_name api.example.com;
ssl_certificate /etc/nginx/ssl/fullchain.crt; # 同一张证书
ssl_certificate_key /etc/nginx/ssl/private.key; # 同一个私钥
# ...
}
宝塔面板部署:
每个子域名站点单独添加,然后每个站点都部署同一份证书。
第十一步:验证所有子域名
部署完成后,逐一访问每个子域名检查证书:
- •
https://www.example.com - •
https://api.example.com - •
https://blog.example.com
每个都应该显示绿色小锁,点击查看证书显示”*.example.com”。
也可以用 SSL测试工具 批量检测。
通配符证书的限制
1. 只覆盖一级子域名
*.example.com 覆盖 www.example.com,但不覆盖 a.b.example.com(多级子域名)。
2. 不包含主域名
*.example.com 不包含 example.com 主域名,需要单独申请或申请多域名通配符证书。
3. 必须DNS验证
通配符证书不支持文件验证,必须有DNS解析权限。
4. 自动续期较麻烦
Let’s Encrypt通配符证书自动续期需要DNS API支持,配置较复杂。
适合申请通配符证书的场景
- •子域名数量多:3个以上子域名就值得申请通配符
- •频繁新增子域名:开发测试环境不断加子域名
- •微服务架构:每个服务一个子域名
- •多环境部署:dev/staging/prod分别用子域名
如果只有1-2个子域名,单域名证书反而更简单。
关于续期
通配符证书也是90天有效期,到期前30天重新申请。续期流程和首次申请完全一样:输入域名 → DNS验证 → 下载部署。
如果想实现自动续期,可以:
- •用宝塔的Let’s Encrypt自动续期(需配置DNS API)
- •写脚本调用ACME协议自动续期(acme.sh等工具)
常见问题
Q:通配符证书可以用于主域名吗?
A:不可以。*.example.com 只覆盖子域名,主域名 example.com 需要单独申请。
Q:通配符证书支持IP吗?
A:不支持。通配符只能用于域名,IP证书需要单独申请。
Q:免费通配符证书和付费的有什么区别?
A:功能上没区别,都是加密强度相同的DV证书。付费版本有OV/EV类型,会验证企业身份,浏览器显示公司名。
Q:一张通配符证书可以覆盖多个主域名吗?
A:不能。*.example.com 只覆盖example.com的子域名。如果有多个主域名,需要申请多域名通配符证书。
最后
通配符SSL证书申请流程比单域名证书稍复杂,主要差异是必须DNS验证。但一次申请覆盖所有子域名的便利性是单域名证书比不了的,子域名多的场景非常推荐。
核心就三步:输入 *.example.com → DNS验证 → 下载部署。希望这篇教程对你有帮助。