披露:CloudPicked 可能获得本文所述品牌的报酬。有关详细信息,请参阅我们的披露页面
通配符SSL证书指南

通配符SSL证书完整指南

Protecting multiple subdomains with a single certificate

如果您运营一个具有多个子域名的网站,例如 blog.example.comshop.example.comapi.example.com,用HTTPS保护所有这些域名可能既昂贵又复杂。最经济有效和最简单的解决方案是通配符SSL证书。本指南解释了什么是通配符SSL、它如何工作,以及如何为您的情况选择正确的证书。

什么是通配符SSL证书?与单域SSL有何不同?

通配符SSL证书旨在保护(加密)一个主域名和该主域名下的无限数量的子域名,使用由星号 * 表示的通配符模式。

例如,*.example.com 的通配符SSL可以保护:

相比之下,单域SSL仅保护一个域名,例如 example.com。如果您想保护 blog.example.com,您需要购买单独的证书,这样既昂贵又难以管理。

关键区别:单域SSL = 仅保护1个域名 / 通配符SSL = 用一个证书保护主域名和所有子域名

理解 *.domain.com:覆盖哪些子域名(以及不覆盖哪些)?

这是许多人感到困惑的地方。通配符SSL *.example.com 仅覆盖1个子域名级别,而不是每个可能的级别。

受保护的子域名:

不受保护的:

如果您需要保护更深的子域名级别,如 sub.blog.example.com,您需要为 *.blog.example.com 购买额外的通配符SSL,或改用多域名SSL。

重要:*.example.com 仅覆盖 xxx.example.com,不覆盖 xxx.yyy.example.com 或主域名 example.com(取决于配置)

通配符SSL vs 多域名SSL (SAN):选择哪一个?

除了通配符SSL外,另一个选项是多域名SSL(主体备用名称 - SAN)。此证书允许您在单个证书中指定多个域名,但数量有限,不像通配符没有限制。

因素 通配符SSL 多域名SSL
无限域名保护 ✓ (仅1级) ✗ (有限)
保护子域名 ✓ 理想 △ 需指定每个
保护多个域名 ✗ 否 ✓ 是
价格 中等 更昂贵

选择通配符SSL如果:您有多个相同域名的子域名,并希望轻松管理。

选择多域名SSL如果:您有多个不同的域名(example.com, myshop.com, myapi.net),但没有很多子域名。

免费的Let's Encrypt通配符证书

Let's Encrypt是世界上最值得信赖和免费的SSL证书颁发机构。自2016年以来,Let's Encrypt为公众提供了免费的通配符证书,其安全性相当于商业CA。

获得Let's Encrypt通配符的基本步骤:

  1. 使用支持ACME协议的工具,如 Certbot
  2. 配置使用 DNS-01 Challenge (而非 HTTP-01)
  3. 通过添加DNS TXT记录向Let's Encrypt证明域名所有权
  4. 获得有效期为90天的通配符证书

重要:Let's Encrypt通配符仅需要DNS-01 Challenge,不支持HTTP-01。您需要一种添加DNS TXT记录的方法(通过DNS管理系统或API)

示例Certbot命令:

sudo certbot certonly --dns-cloudflare \
  -d example.com -d *.example.com \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini

Certbot将自动添加DNS TXT记录(如果您配置了Cloudflare API密钥)并发放免费的通配符证书。

Let's Encrypt通配符的优点:

Let's Encrypt通配符的限制:

从商业证书颁发机构购买通配符SSL

如果您需要具有法律约束力的通配符SSL且带有EV1-3年有效期,您可以从Comodo、Sectigo、GlobalSign或DigiCert等商业CA购买。

通配符SSL平均价格:

主要区别:

对于大多数用户来说,DV通配符SSL就足够了,因为DV、OV和EV的加密安全性相同。区别仅在于"公司身份验证"。

如何在Apache/Nginx/DirectAdmin上安装通配符SSL

一般步骤(Apache、Nginx、DirectAdmin):

步骤1:获取证书和私钥文件

无论来自Let's Encrypt还是商业CA,您都会获得两个文件:

步骤2:上传到服务器

scp certificate.crt [email protected]:/etc/ssl/certs/
scp private.key [email protected]:/etc/ssl/private/

步骤3:配置Apache

编辑配置文件,例如 /etc/apache2/sites-available/default-ssl.conf

<VirtualHost *:443>
    ServerName example.com
    ServerAlias *.example.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/certificate.crt
    SSLCertificateKeyFile /etc/ssl/private/private.key
</VirtualHost>

然后重启Apache:

sudo systemctl restart apache2

步骤4:配置Nginx

编辑配置文件,例如 /etc/nginx/sites-available/default

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

    ssl_certificate /etc/ssl/certs/certificate.crt;
    ssl_certificate_key /etc/ssl/private/private.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
}

然后重启Nginx:

sudo systemctl restart nginx

步骤5:配置DirectAdmin(最简单)

如果您使用DirectAdmin,只需:

  1. 进入管理员面板 → 证书管理
  2. 选择"安装证书"
  3. 粘贴证书、密钥和CA证书
  4. 指定域名:*.example.com
  5. 点击"安装"

DirectAdmin将自动配置Apache/Nginx设置。

续期通配符SSL证书

所有SSL证书都有到期日期。大多数的有效期为1年(商业CA)或90天(Let's Encrypt)。

续期Let's Encrypt(自动):

Let's Encrypt通过cron任务提供自动续期:

0 2 * * * /usr/bin/certbot renew --quiet

此命令在每天凌晨2点检查证书,并自动续期任何在30天内到期的证书。

续期商业CA证书:

  1. 登录您的CA的控制面板
  2. 找到要续期的证书
  3. 选择"续期"并完成支付
  4. 按照验证步骤进行(通常为电子邮件批准)
  5. 下载新证书
  6. 在服务器上安装(如上步骤6)

提示:在到期前60天设置提醒,以避免忘记续期。

通配符SSL安全考虑:如果私钥被泄露怎么办?

通配符SSL的主要风险是如果您的私钥被盗或泄露,攻击者可以冒充您域名下的任何子域名

示例:如果您有 *.bank.com 的通配符SSL,并且私钥泄露,攻击者可能:

保护方法:

重要:通配符SSL的管理风险比单域SSL高,因为一个私钥保护多个域名。

通配符SSL值得吗?与免费Let's Encrypt相比

简短回答:如果您可以使用Let's Encrypt,就不要花钱。但在某些情况下,商业通配符SSL是有意义的。

Let's Encrypt通配符最理想的情况:

商业通配符SSL更好的情况:

条件 Let's Encrypt 商业通配符
费用 免费 $25-240+/年
加密安全 等价 等价
EV(绿色栏) 有(EV证书)
续期自动化 100%自动 CA依赖
支持担保 有(某些CA)

结论:对于个人使用、小型和中型企业,免费的Let's Encrypt通配符是最佳选择。如果您需要专业验证和EV徽章,商业通配符SSL值得投资。

推荐AsiaGB.com — 我们使用和推荐的Web托管和VPS。泰国和新加坡的服务器,配备SSD存储、DirectAdmin面板、24/7泰语支持和99%的正常运行时间。

AsiaGB.com — hosting & VPS we use and recommend: TH/SG servers, SSD storage, DirectAdmin, 24h Thai support, 99% uptime.

访问AsiaGB →

常见问题

问:通配符SSL可以保护更深的子域名级别吗,如sub.blog.example.com?
答:不可以。通配符SSL *.example.com保护blog.example.com但不保护sub.blog.example.com。您需要为*.blog.example.com购买额外的通配符SSL来保护更深的级别。
问:Let's Encrypt通配符仅需要DNS Challenge吗?
答:是的。Let's Encrypt通配符仅需要DNS-01 Challenge,不支持HTTP-01。您必须能够添加DNS TXT记录。
问:通配符SSL的安全性比单域SSL低吗?
答:加密安全性相同。但通配符的管理风险更高,因为一个私钥保护多个域名。如果私钥被泄露,攻击者可以冒充任何子域名。
问:通配符SSL证书的有效期是多久?
答:这取决于CA。大多数有效期为1年(每年续期)。Let's Encrypt为90天。某些CA提供2-3年有效期。
问:我可以将单域SSL升级到通配符吗?
答:不可以。您必须请求新的通配符证书。您无法升级现有证书。如果您在同一个月内取消并更换,大多数CA会提供退款。
问:DV、OV和EV证书之间有什么区别?
答:DV仅验证域名所有权(最便宜、最快)。OV验证组织信息(中等价格)。EV进行彻底验证并显示"已验证组织"徽章(最昂贵、信任度最高)。