所有 SSL 文章 SSL 与证书

多域名 SSL 证书(SAN)

多域名 SSL 证书(也称为 SANUCC 证书)用一张证书保护多个不同的域名。无需为 example.comexample.orgmyapp.io 分别管理证书,一张 SAN 证书即可全部覆盖。

这与通配符证书不同,通配符覆盖的是一个域名的子域名。SAN 证书可以覆盖完全不同的域名。

SAN 证书的工作原理

SAN 代表 Subject Alternative Name(主体备用名称)——X.509 证书标准中的一个字段,列出证书有效的额外域名。当浏览器连接到服务器时,它会检查请求的域名是否匹配任何 SAN 条目。

多域名证书内部看起来是这样的:

Certificate for:
  CN: example.com
  SAN: example.com
  SAN: www.example.com
  SAN: example.org
  SAN: api.myapp.io

这四个域名都由一张证书和一个私钥保护。如果请求的主机名匹配任何 SAN 条目,浏览器就接受连接。

限制: Let’s Encrypt 支持每张证书最多 100 个 SAN 条目。商业 CA 各有不同——有些允许 250+,有些按条目收费。

常见使用场景

多个品牌域名

你运营 brandname.combrandname.co.ukbrandname.de。一张 SAN 证书覆盖所有三个,无需为每个地区分别管理证书。

域名 + www 变体

最常见的 SAN 用途:example.com + www.example.com。大多数证书会自动包含两者。GetHTTPS 在你输入裸域名时会提示你添加 www 变体。

不同域名上的微服务

你的 API 在 api.company.com,文档在 docs.company.com,营销站点在 company.com。一张 SAN 证书保护所有三个。如果它们都是子域名,通配符可能更简单。

域名迁移

olddomain.com 迁移到 newdomain.com?覆盖两者的 SAN 证书让你在过渡期间为两个域名提供 HTTPS,无需维护两张独立证书。

SAN vs 通配符

SAN(多域名)通配符
覆盖范围特定列出的域名一个域名的所有子域名
跨域example.com + other.com❌ 仅限一个基础域名
新域名需要新证书新子域名自动覆盖
验证类型HTTP-01 或 DNS-01仅 DNS-01
证书大小随 SAN 条目增加而增长固定
使用场景多个不同域名一个域名的多个子域名
Let’s Encrypt 限制每证书 100 个名称每证书 1 个通配符(可与 SAN 组合)

可以组合两者: 一张证书可以同时包含 example.com*.example.comother.com 作为 SAN 条目。这种做法常用于在一张证书中覆盖裸域名、所有子域名和额外域名。

通过 GetHTTPS 获取多域名证书

  1. 前往 gethttps.com/app/setup
  2. 输入所有要覆盖的域名:example.comwww.example.comexample.org
  3. 每个域名完成验证 —— HTTP-01(放置文件)或 DNS-01(添加 TXT 记录)
  4. GetHTTPS 在提交到 Let’s Encrypt 之前会预检每个验证
  5. 下载一张覆盖所有域名的证书

每个域名需要单独验证,因为 Let’s Encrypt 必须独立确认你控制每一个域名。GetHTTPS 按顺序处理——你验证一个,然后验证下一个。

示例:3 个域名,混合验证方式

域名验证类型操作
example.comHTTP-01在服务器上放置文件
www.example.comHTTP-01同一服务器,相同流程
example.orgDNS-01添加 TXT 记录(不同的 DNS 提供商)

三个都通过后,你获得一组覆盖所有三个域名的证书文件(fullchain.pemprivkey.pem)。

安装多域名证书

安装与单域名证书完全相同。服务器不关心证书中有多少 SAN——使用相同的文件。

Nginx:

server {
    listen 443 ssl http2;
    server_name example.com www.example.com example.org;

    ssl_certificate     /etc/ssl/fullchain.pem;
    ssl_certificate_key /etc/ssl/privkey.pem;
}

Apache:

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com example.org

    SSLEngine on
    SSLCertificateFile /etc/ssl/cert.pem
    SSLCertificateKeyFile /etc/ssl/privkey.pem
    SSLCertificateChainFile /etc/ssl/chain.pem
</VirtualHost>

如果域名指向不同的服务器,在每台服务器上安装相同的证书文件。证书对所有列出的域名有效,无论哪台服务器提供它。

常见问题

SAN 证书更贵吗?

使用 Let’s Encrypt 时不会。你可以通过 GetHTTPS 在一张免费证书中包含最多 100 个域名。某些商业 CA 每增加一个 SAN 条目收费 $10-50。

所有域名需要在同一台服务器上吗?

不需要。证书在任何服务器上都有效。在需要为任何列出域名提供服务的每台服务器上安装相同的 fullchain.pemprivkey.pem

能向现有 SAN 证书添加域名吗?

不能直接添加——已签发的证书不能修改。你需要申请一张包含所有域名(现有 + 新的)的新证书。通过 GetHTTPS,这只需几分钟。

什么时候应该使用独立证书?

在以下情况使用独立证书:

  • 不同团队管理不同域名(独立密钥 = 独立访问控制)
  • 需要不同的续签计划
  • 隔离很重要 —— 一个密钥的泄露不应影响其他域名
  • 超过 100 个名称 —— 分散到多张证书

SAN 如何影响证书大小?

每个 SAN 条目为证书增加约 30-50 字节。100 个条目时,证书增大几 KB。对 TLS 握手速度的影响可以忽略。

SAN 和 UCC 有什么区别?

UCC(Unified Communications Certificate)是 Microsoft 对多域名 SAN 证书的称呼,最初为 Exchange 和 Office Communications Server 设计。从技术上讲它们是同一个东西——一张包含多个 SAN 条目的证书。

相关文章

SSL 与证书 2026-05-07
通配符 SSL 证书详解
通配符证书(*.example.com)用一张证书保护所有子域名。了解通配符的工作原理、限制,以及如何免费获取。
快速开始 2026-05-08
如何获取免费 SSL 证书(分步指南)
5 分钟从 Let's Encrypt 获取免费 SSL 证书 — 无需安装软件、无需注册账号。涵盖 4 种方法、两种验证方式、6 个平台的安装教程和故障排除。
SSL 与证书 2026-05-07
SSL 证书类型详解:DV、OV 和 EV
对比域名验证(DV)、组织验证(OV)和扩展验证(EV)SSL 证书。了解验证方式、费用的差异,以及何时真正需要每种类型。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书