Skip to main content

如何申请通配符SSL证书:保护所有子域名的完整指南

· 6 min read
OHTTPS

通配符SSL证书是一种特殊的SSL证书,可以保护一个域名及其所有一级子域名。例如,*.example.com可以保护www.example.comapi.example.comblog.example.com等所有一级子域名。本文将详细介绍如何申请通配符SSL证书,包括申请流程、DNS验证、使用场景和注意事项。

一、什么是通配符证书?

1. 通配符证书的定义

通配符证书使用通配符()来保护一个域名及其所有一级子域名。通配符证书的域名格式为:`.example.com`

2. 通配符证书的保护范围

保护范围

  • www.example.com
  • ✅ api.example.com
  • ✅ blog.example.com
  • ✅ shop.example.com
  • ✅ 任何一级子域名

不保护的范围

3. 通配符证书的优势

  • ✅ 一个证书保护所有一级子域名
  • ✅ 添加新子域名无需重新申请证书
  • ✅ 管理方便,只需管理一张证书
  • ✅ 适合有大量子域名的场景

二、通配符证书的申请要求

1. 验证方式

通配符证书只能使用DNS验证

  • 不能使用HTTP验证
  • 必须在DNS服务商添加TXT记录
  • 验证主域名的控制权

2. 支持的CA

免费通配符证书

  • Let's Encrypt(通过OHTTPS、acme.sh等)
  • FreeSSL.cn

付费通配符证书

  • DigiCert
  • Sectigo
  • GlobalSign
  • 其他商业CA

3. 证书类型

通配符证书通常只提供DV(域名验证)类型:

  • 不提供OV(组织验证)通配符证书(部分CA提供)
  • 不提供EV(扩展验证)通配符证书

三、使用OHTTPS申请免费通配符证书

1. 创建证书申请

  1. 登录OHTTPS平台
  2. 进入"证书管理"
  3. 点击"创建证书"
  4. 选择验证方式(DNS授权或免DNS授权)

2. 填写域名信息

  • 证书名称:为证书起一个名称
  • 域名:输入通配符域名 *.example.com
  • 注意:通配符证书不保护主域名,如果需要保护主域名,需要单独添加

3. DNS验证

DNS授权验证模式

  1. 选择已创建的DNS授权
  2. 系统自动添加DNS验证记录
  3. 等待验证完成

免DNS授权验证模式

  1. 系统显示需要添加的CNAME记录
  2. 在DNS服务商处添加CNAME记录
  3. 等待DNS解析生效
  4. 系统自动完成验证

4. 等待证书签发

验证通过后,系统自动申请证书:

  • 通常几分钟内完成
  • 证书有效期90天
  • 支持自动更新

四、使用acme.sh申请通配符证书

1. 安装acme.sh

curl https://get.acme.sh | sh

2. 配置DNS API

以Cloudflare为例:

export CF_Email="your-email@example.com"
export CF_Key="your-api-key"

3. 申请通配符证书

~/.acme.sh/acme.sh --issue -d "*.example.com" --dns dns_cf

4. 安装证书

~/.acme.sh/acme.sh --install-cert -d "*.example.com" \
--key-file /path/to/key.pem \
--fullchain-file /path/to/fullchain.pem \
--reloadcmd "systemctl reload nginx"

五、使用Certbot申请通配符证书

1. 安装Certbot

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install certbot

# 安装DNS插件(以Cloudflare为例)
sudo apt-get install python3-certbot-dns-cloudflare

2. 配置DNS凭证

创建凭证文件 /etc/letsencrypt/cloudflare.ini

dns_cloudflare_email = your-email@example.com
dns_cloudflare_api_key = your-api-key

设置文件权限:

sudo chmod 600 /etc/letsencrypt/cloudflare.ini

3. 申请通配符证书

sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
-d "*.example.com"

4. 配置自动更新

sudo certbot renew --dry-run

六、通配符证书的配置

1. Nginx配置

server {
listen 443 ssl;
server_name *.example.com;

ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;

# 其他配置...
}

2. Apache配置

<VirtualHost *:443>
ServerName *.example.com
SSLEngine on

SSLCertificateFile /path/to/cert.pem
SSLCertificateKeyFile /path/to/private.key
SSLCertificateChainFile /path/to/chain.pem
</VirtualHost>

3. 同时保护主域名

如果需要同时保护主域名和所有子域名,可以:

方案1:使用多域名证书

  • 申请包含 example.com*.example.com 的多域名证书

方案2:使用两个证书

  • 一个单域名证书保护 example.com
  • 一个通配符证书保护 *.example.com

七、通配符证书的使用场景

1. SaaS平台

场景

  • 每个客户一个子域名
  • 如:client1.example.com、client2.example.com

优势

  • 一个证书保护所有客户子域名
  • 添加新客户无需重新申请证书

2. 多服务架构

场景

优势

  • 统一管理证书
  • 简化证书配置

3. 开发测试环境

场景

  • 多个开发环境使用不同子域名
  • 如:dev.example.com、test.example.com、staging.example.com

优势

  • 一个证书覆盖所有环境
  • 方便管理和部署

八、通配符证书的注意事项

1. 安全考虑

私钥安全

  • 通配符证书的私钥非常重要
  • 如果私钥泄露,所有子域名都会受影响
  • 必须妥善保管私钥

访问控制

  • 确保证书和私钥的访问权限
  • 使用适当的文件权限
  • 定期轮换证书和密钥

2. 技术限制

只保护一级子域名

  • *.example.com 不保护 sub.www.example.com
  • 如果需要保护二级子域名,需要单独申请

不保护主域名

  • *.example.com 不保护 example.com
  • 如果需要保护主域名,需要单独添加

3. 证书更新

自动更新

  • 使用OHTTPS或acme.sh可以自动更新
  • 确保证书在到期前更新

DNS验证

  • 每次更新都需要DNS验证
  • 如果使用DNS授权,可以自动完成
  • 如果使用免DNS授权,需要手动更新DNS记录

九、常见问题

1. 通配符证书不保护主域名

问题*.example.com 不保护 example.com

解决方法

  • 申请包含主域名的多域名证书
  • 或使用两个证书分别保护

2. DNS验证失败

可能原因

  • DNS记录未生效
  • DNS记录格式错误
  • 验证超时

解决方法

  • 检查DNS记录是否正确
  • 等待DNS解析生效
  • 使用DNS授权模式自动验证

3. 证书安装后不生效

可能原因

  • 证书配置错误
  • 服务器配置错误
  • 证书链不完整

解决方法

  • 检查证书配置
  • 检查服务器配置
  • 使用完整链文件

总结

通配符SSL证书是保护多个子域名的理想选择,特别适合SaaS平台、多服务架构等场景。通过OHTTPS、acme.sh或Certbot等工具,可以轻松申请和管理通配符证书。

关键要点

  • ✅ 通配符证书只能使用DNS验证
  • ✅ 只保护一级子域名
  • ✅ 不保护主域名(需要单独添加)
  • ✅ 私钥安全非常重要
  • ✅ 建议使用自动化工具管理证书

如果您需要申请通配符证书,推荐使用OHTTPS平台,它提供了友好的界面和自动化管理功能,让通配符证书的申请和管理变得简单高效。

OHTTPS: 免费HTTPS证书/SSL证书申请 • 自动化更新、部署、监控
OHTTPS 支持通过多种域名验证方式(DNS验证、HTTP验证、文件验证等)申请免费的HTTPS证书/SSL证书,包括单域名证书、多域名证书、通配符证书、IP证书等,支持HTTPS证书/SSL证书的自动化更新、自动化部署、自动化监控及告警等,并支持将HTTPS证书/SSL证书自动化部署至阿里云、腾讯云、群晖NAS、百度云、七牛云、多吉云、又拍云、宝塔面板、Docker容器、SSH等,实现HTTPS证书/SSL证书的一站式申请、更新、部署、监控和管理。