如何申请免费多域名SSL证书:一张证书保护多个域名
最近帮一个客户配置SSL证书,他有3个域名指向同一个网站:example.com、www.example.com、shop.example.com,如果分别申请单域名证书得搞3次,直接用多域名证书一次搞定。这篇就把免费多域名SSL证书的申请方法详细写一下。
什么是多域名SSL证书
多域名证书(SAN Certificate或UCC Certificate)就是一张证书保护多个不同的域名,这些域名可以完全独立,比如:
- •
example.com - •
example.net - •
shop.com - •
blog.example.org
证书的”使用者可选名称”(SAN)字段里列出所有覆盖的域名。
核心优势:一张证书管理多个域名,省时省力,部署方便。
适合场景:
- •一个网站有多个域名指向
- •集群多个服务用不同域名
- •多个品牌网站共用一张证书
- •域名迁移期间新老域名并存
多域名证书 vs 通配符证书
很多朋友搞不清楚多域名和通配符的区别:
| 对比项 | 多域名证书 | 通配符证书 |
|---|---|---|
| 覆盖范围 | 多个独立域名 | 一个主域下所有子域名 |
| 域名格式 | example.com,example.net | *.example.com |
| 域名关系 | 互不相关 | 同一主域名 |
| 灵活性 | 任意域名组合 | 只限子域名 |
| 申请方式 | 列出所有域名 | 一个 *. 前缀 |
简单理解:通配符覆盖同一主域的子域名,多域名覆盖不同主域名。
申请前准备
- •多个域名:已经购买并管理
- •DNS解析权限:每个域名都需要验证所有权
- •服务器配置权限:能部署SSL证书
第一步:访问申请平台
打开 sslmianfei.com,首页输入框就是申请入口。
第二步:输入多个域名
在输入框输入多个域名,用英文逗号分隔:
example.com,www.example.com,shop.example.com
注意:
- •用英文逗号
,分隔,不要用中文逗号 - •不要带
https://前缀 - •不要带路径
- •域名之间不要有空格
系统识别到逗号后会自动选择”多域名证书”类型。
第三步:确认域名列表
系统会显示识别到的所有域名,确认无误后继续。
重要提示:
- •列出的所有域名都需要单独验证
- •域名数量越多验证越久
- •ZeroSSL免费版单张证书最多支持100个域名
第四步:选择验证方式
每个域名都需要验证所有权,有两种方式:
DNS验证(推荐):
- •每个域名都要添加CNAME记录
- •不影响网站访问
- •适合多域名场景
文件验证:
- •每个域名服务器都要放验证文件
- •适合网站都已部署的情况
多域名证书推荐DNS验证,因为要管理多个域名的验证文件比较麻烦。
第五步:批量添加DNS记录
系统会为每个域名生成一条CNAME验证记录,类似:
域名1:example.com
记录类型:CNAME
主机记录:_abc123.example.com
记录值:verify.zerossl.com
域名2:www.example.com
记录类型:CNAME
主机记录:_xyz789.www.example.com
记录值:verify.zerossl.com
域名3:shop.example.com
记录类型:CNAME
主机记录:_def456.shop.example.com
记录值:verify.zerossl.com
去每个域名的DNS解析后台添加对应的CNAME记录。
关键点:
- •每个域名的验证记录不同,不能混用
- •主域名和子域名的解析可能在不同后台,注意区分
- •所有记录都添加完再开始验证
第六步:等待DNS生效
所有DNS记录添加后,等待全球DNS服务器同步,通常5-15分钟。
可以用 nslookup 命令逐个检查:
nslookup -type=CNAME _abc123.example.com 8.8.8.8
nslookup -type=CNAME _xyz789.www.example.com 8.8.8.8
每条都返回正确的记录值说明都生效了。
第七步:验证解析
回到 sslmianfei.com 申请页面,点击”验证解析”按钮。
系统会逐个验证所有域名:
- •全部通过:证书自动签发
- •部分通过:已通过的域名会签发证书,未通过的会提示失败
- •全部未通过:等DNS生效后重试
如果有部分域名验证失败,可以:
- 单独检查失败域名的DNS记录
- 修正后重新验证
- 或先去掉失败域名,重新申请
第八步:下载证书
验证成功后下载证书文件:
- •certificate.crt:多域名证书
- •private.key:私钥
- •ca_bundle.crt:CA中间证书
注意:这是一张证书,包含所有验证通过的域名。
第九步:部署证书
多域名证书的部署和单域名证书一样,只是 server_name 要列出所有域名:
Nginx部署:
server {
listen 443 ssl;
server_name example.com www.example.com shop.example.com;
ssl_certificate /etc/nginx/ssl/fullchain.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
location / {
root /var/www/multidomain;
index index.html;
}
}
Apache部署:
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com shop.example.com
DocumentRoot /var/www/multidomain
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/fullchain.crt
SSLCertificateKeyFile /etc/apache2/ssl/private.key
</VirtualHost>
宝塔面板部署:
- 网站 → 添加站点 → 域名填多个(一行一个)
- 站点设置 → SSL → 其他证书
- 粘贴证书和私钥 → 保存
- 开启强制HTTPS
第十步:验证所有域名
部署完成后,逐一访问每个域名检查证书:
- •
https://example.com - •
https://www.example.com - •
https://shop.example.com
每个都应该显示绿色小锁,点击查看证书的SAN字段应包含所有域名。
用 证书查看工具 解析证书,可以查看完整的SAN域名列表。
多域名证书的优势
1. 管理方便
一张证书管理所有域名,到期一起续费,不会遗漏。
2. 部署简单
服务器只配置一次证书,所有域名共用。
3. 成本低
免费多域名证书完全可以替代多张单域名证书。
4. 灵活扩展
后续可以重新申请新的多域名证书,加入新的域名。
多域名证书的限制
1. 所有域名用同一私钥
多域名证书的所有域名共用一个私钥,私钥泄露影响所有域名。
2. 修改域名需要重新申请
添加或删除域名需要重新申请证书,无法动态修改。
3. 验证时间长
域名越多,DNS验证越久,整体申请时间较长。
4. 不支持通配符混用
多域名证书中的域名都是具体域名,不能是 *.example.com 这种通配符。
多域名 + 通配符组合
如果有多个主域名且每个主域名都有多个子域名,可以组合使用:
- •申请多域名证书覆盖主域名
- •为每个主域名单独申请通配符证书覆盖子域名
- •服务器配置多张证书
或者申请”多域名通配符证书”(部分CA支持),一张证书包含多个通配符域名。
关于续期
多域名证书90天有效期,续期流程和首次申请一样:
- 输入所有域名
- DNS验证每个域名
- 下载新证书部署
续期技巧:
- •DNS记录可以保留,续期时不用重新添加
- •提前30天续费避免证书过期
- •域名列表发生变化时及时更新证书
常见问题
Q:多域名证书最多支持多少个域名?
A:ZeroSSL免费版最多100个域名,足够大部分场景。
Q:可以把通配符和多域名放一张证书吗?
A:可以。部分CA支持多域名通配符证书,比如 .example.com,.shop.com。
Q:多域名证书和单域名证书哪个更好?
A:3个以上域名用多域名证书更方便,1-2个域名用单域名证书更简单。
Q:证书签发后还能添加新域名吗?
A:不能。要添加新域名必须重新申请证书。
最后
多域名SSL证书申请核心就是输入逗号分隔的多个域名 → 逐个DNS验证 → 下载部署。比单域名证书复杂一点,但管理多个域名的便利性是单域名证书比不了的。
适合有多个域名指向同一网站、或多个独立域名需要HTTPS的场景。希望这篇教程对你有帮助。