使用DNS验证域所有权 - AWS Certificate Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

使用DNS验证域所有权

AWS Certificate Manager (ACM) 必须先确认您拥有或可以控制请求中指定的所有域名,然后 Amazon 证书颁发机构 (CA) 才能为网站颁发证书。请求证书时,您可以选择电子邮件验证或 DNS 验证。本主题讨论 DNS 验证。有关电子邮件验证的信息,请参阅使用电子邮件验证领域所有权

如果在使用 DNS 验证时遇到问题,请参阅排查 DNS 验证问题

注意

验证仅适用于由 AWS Certificate Manager (ACM) 颁发的公有证书。ACM 不会验证导入的证书或由私有 CA 签署的证书的域所有权。

域名系统 (DNS) 是连接到网络的资源的目录服务。在 Internet 上,DNS 服务器主要用于将域名转换为识别和定位资源 (如计算机和其他设备) 的数字 IP 地址。DNS 服务器上的数据库包含用于此种转换和启用其他功能的域记录。例如,A 记录是一种将域名映射到 IPV4 地址的 DNS 记录。MX 记录用于路由电子邮件。NS 记录列出域的所有名称服务器。

ACM 使用 CNAME(规范名称)记录验证您是否拥有或可以控制某个域。如果选择 DNS 验证,ACM 会提供一条或多条 CNAME 记录以便插入到 DNS 数据库。例如,如果为 example.com 域请求证书并指定 www.example.com 为额外名称,则 ACM 会为您创建两条 CNAME 记录。每条记录都是专为您的域和账户创建的,包含名称和值。值是指向 ACM 拥有的域的别名,ACM 使用该域自动续订证书。CNAME 记录只需添加到 DNS 数据库中一次。只要证书在使用中且 CNAME 记录保持不变,ACM 便会自动续订证书。此外,如果使用 Amazon Route 53 创建域,ACM 可以为您写入 CNAME 记录。

注意

如果在您的DNS配置中将更多的5个C名称链接在一起,则C名称解析失败。如果您需要较长的链子,我们建议您使用 电子邮件验证.

如果您的 DNS 提供商不支持带有前导下划线的 CNAME 值,请参阅 排查 DNS 验证问题

下表显示了五个域名的示例 CNAME 记录。该 。x 值为由 ACM. 例如,_3639ac514e785e898d2646601fa951d5.example.com 代表生成的名称。请注意,前两个x 表中的值相同。即,由 ACM 是 *.example.com 与为基本域名创建的相同 example.com。同时注意,ACM为 example.comwww.example.com.

使用滚动条查看表的其余部分。

域名 DNS 区域 姓名 Type Value
*.example.com example.com _x1.example.com. CNAME _x2.acm-validations.aws.
example.com example.com _x1.example.com. CNAME _x2.acm-validations.aws.
www.example.com example.com _x3.www.example.com. CNAME _x4.acm-validations.aws.
host.example.com example.com _x5.host.example.com. CNAME _x6.acm-validations.aws.
subdomain.example.com subdomain.example.com _x7.subdomain.example.com. CNAME _x8.acm-validations.aws.
host.subdomain.example.com subdomain.example.com _x9.host.subdomain.example.com. CNAME _x10.acm-validations.aws.

相比电子邮件验证,DNS 验证有许多优势:

  • DNS 要求您在请求 ACM 证书时仅为每个域名创建一条 CNAME 记录。使用电子邮件验证时,每个域名最多需要发送八封电子邮件。

  • 只要 DNS 记录保持不变,您就可以为 FQDN 请求更多的 ACM 证书。也就是说,您可以创建多个具有相同域名的证书。不必获取新的 CNAME 记录。这样做的原因有很多。例如,您可能需要覆盖不同子域的新证书。您可能需要在多个区域创建相同的证书 (此验证令牌适用于任何区域)。您可能需要替换已删除的证书。

  • ACM 会自动续订您使用 DNS 验证的 ACM 证书。只要证书正在使用中且 DNS 记录保持不变,ACM 就会在证书过期前自动续订。

  • 如果您使用 Route 53 管理公共 DNS 记录,ACM 可以为您添加 CNAME 记录。如果您使用的 DNS 提供商不是 Route 53,请联系您的 DNS 提供商了解如何添加记录。

  • 与电子邮件验证过程相比,您可以更轻松地自动执行 DNS 验证过程。

  • 电子邮件验证的证书仅可在其原始验证日期的 825 天后续订。825 天之后,域拥有者或授权代表必须请求新的证书,而 DNS 验证的证书将无限期续订。

但是,如果您无权修改域的 DNS 记录,则需要使用电子邮件验证。

使用 DNS 验证:

  1. 登录 AWS 管理控制台,并通过以下网址打开 ACM 控制台:https://console.amazonaws.cn/acm/home。如果显示介绍页面,请选择 Get Started。否则,请选择 Request a certificate

  2. Request a certificate 页面上,键入您的域名。有关键入域名的更多信息,请参阅申请公共证书

  3. 要向 ACM 证书添加更多域名,请在您刚刚键入的名称下方打开的文本框中键入其他名称。

  4. 选择 Next (下一步)

  5. 选择 DNS validation

  6. 选择 Review and request。确认域名和验证方法正确无误。

  7. 选择 Confirm and request

  8. Validation (验证) 页面上,检索必须添加到 DNS 数据库的 CNAME 记录名称。您可以通过两种方式执行此操作:

    • Domain (域) 部分中,展开您的域信息并记录 CNAME 记录的 Name (名称)

      重要

      您需要的 CNAME 记录信息 包括您的域名。如果您在 DNS 数据库 CNAME 记录中包含域名,则验证将失败。例如,显示的 Name (名称) 可能类似于以下内容:

      _a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com

      但是,所需的 CNAME 信息仅包括以下内容:

      _a79865eb4cd1a6ab990a45779b4e0b96
    • 或者,选择 将DNS配置导出至文件 位于 验证 第页。文件中的信息仍然需要手动添加到 DNS 数据库中。

  9. 如果满足以下条件,则会显示 Create record in Route 53 按钮:

    • 您使用 Route 53 作为 DNS 提供商。

    • 您有权写入 Route 53 托管的区域。

    • 您的 FQDN 尚未经过验证。

    如果 Create record in Route 53 (在 Route 53 中创建记录) 按钮缺失或已禁用,请参阅ACM 控制台不显示“Create record in Route 53 (在 Route 53 中创建记录)”按钮

    您无法以编程方式请求 ACM 在 Route 53 中自动创建您的记录。但是,您可以对 Route 53 进行 AWS CLI 或 API 调用以创建该记录。有关 Route 53 记录集的更多信息,请参阅使用资源记录集

  10. 从控制台或导出文件将此记录添加到您的数据库。有关添加 DNS 记录的更多信息,请参阅将Cname添加到您的数据库中。您可以选择继续跳过此步骤。稍后,通过在控制台中打开证书请求可以返回此步骤。

    注意

    如果您以前在请求证书时验证了 FQDN,并且您正在为同一个 FQDN 请求另一个证书,则不必再添加其他 DNS 记录。

    注意

    添加包含域名 (如 .example.com) 的 CNAME 记录可能会导致域名重复 (如 .example.com.example.com)。要避免重复,您可以仅手动复制所需的 CNAME 部分。其格式为 _3639ac514e785e898d2646601fa951d5

  11. 更新 DNS 配置后,选择继续。ACM 会显示一个表格视图,其中包含您的所有证书。它显示了您请求的证书及其状态。在 DNS 提供商传播您的记录更新后,ACM 最多需要几个小时来验证域名并颁发证书。在此期间,ACM 显示验证状态为等待验证。验证域名后,ACM 将验证状态更改为成功。AWS 颁发证书后,ACM 将证书状态更改为已颁发

    注意

    如果 ACM 无法在生成 CNAME 值后的 72 小时内验证域名,ACM 会将证书状态更改为验证超时。导致此结果的最可能原因是您未使用 ACM 生成的值更新 DNS 配置。要解决此问题,您必须请求新的证书。

    
						控制台显示用于 DNS 验证的 CNAME。

将Cname添加到您的数据库中

要使用 DNS 验证,您必须能够向您的域的 DNS 配置添加 CNAME 记录。如果您的 DNS 提供商不是 Route 53,请联系提供商了解如何添加记录。如果您的提供商是 Route 53,ACM 可为您创建 CNAME 记录,如前面的步骤 9 所述。如果需要自行添加此记录,请参阅 https://docs.amazonaws.cn/Route53/latest/DeveloperGuide/resource-record-sets-editing.html 开发人员指南 中的Route 53编辑资源记录集

如果您的 DNS 提供商不支持带有前导下划线的 CNAME 值,请参阅 排查 DNS 验证问题

注意

如果您无权编辑 DNS 配置,则必须使用电子邮件验证。

从您的数据库中删除Cname

只要证书正在使用中,并且 ACM 为您创建的 CNAME 记录仍在您的 DNS 数据库中,ACM 就会自动续订您的证书。您可以通过从证书关联的 AWS 服务删除证书或通过删除 CNAME 记录来停止自动续订。如果您的 DNS 提供商不是 Route 53,请联系提供商了解如何删除此记录。如果您的提供商是 Route 53,请参阅 https://docs.amazonaws.cn/Route53/latest/DeveloperGuide/resource-record-sets-deleting.html 开发人员指南 中的Route 53删除资源记录集。有关托管证书续订的更多信息,请参阅适用于 ACM 的由 Amazon 颁发的证书的托管续订