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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

选项 1:DNS 验证

域名系统 (DNS) 是连接到网络的资源的目录服务。您的 DNS 提供商维护一个数据库,其中包含定义您的域的记录。当您选择 DNS 验证时, ACM 会为您提供必须添加到此数据库的一个或多个 CNAME 记录。这些记录包含一个唯一的键值对,作为控制域的证明。

例如,如果为 example.com 域请求证书并指定 www.example.com 为额外名称,则 ACM 会为您创建两条 CNAME 记录。每条记录都是专为您的域和账户创建的,包含名称和值。值是一个别名,指向 AWS 用于自动续订证书的 ACM 域。CNAME 记录必须仅添加到 DNS 数据库中一次。只要证书正在使用中,并且 CNAME 记录保持不变, ACM 就会自动续订证书。

重要

如果您不使用 Amazon Route 53 管理公有 DNS 记录,请联系您的 DNS 提供商了解如何添加记录。如果您缺乏编辑域的 DNS 数据库的权限,则必须改用电子邮件验证

无需重复验证,只要 CNAME 记录保持不变,您就可以为完全限定域名 (FQDN) 请求其他ACM证书。也就是说,您可以创建具有相同域名的替换证书或覆盖不同子域的证书。由于 CNAME 验证令牌适用于任何区域,因此您可以在多个区域中重新创建同一证书。您还可以替换已删除的证书。

您可以通过从自动续订所关联的AWS服务中删除证书或通过删除 CNAME 记录来停止自动续订。如果 Route 53 不是您的 DNS 提供商,请联系您的提供商了解如何删除记录。如果您的提供商是 Route 53,请参阅 https://docs.amazonaws.cn/Route53/latest/DeveloperGuide/resource-record-sets-deleting.html 开发人员指南 中的Route 53删除资源记录集。有关托管证书续订的更多信息,请参阅Managed renewal for ACM certificates

注意

如果在 DNS 配置中链接在一起 5 个以上的别名记录,则CNAMEs解析将失败。如果您需要更长的链接,我们建议您使用电子邮件验证

的 CNAME 记录ACM的工作原理

注意

本节适用于不将 Route 53 用作其 DNS 提供商的客户。

如果不使用 Route 53 作为 DNS 提供商,则需要手动将 提供的 CNAME 记录输入到ACM提供商的数据库中,通常是通过网站。CNAME 记录用于多种用途,包括作为重定向机制和作为特定于供应商的元数据的容器。对于 ACM,这些记录允许初始域所有权验证和持续的自动证书续订。

下表显示了六个域名的示例 CNAME 记录。每个记录的 Record Name-Record Value 对用于验证域名所有权。这些区域有:x 下划线 ( _ ) 后面的 值是由 生成的长随机字符串ACM。例如,

_3639ac514e785e898d2646601fa951d5.example.com

代表生成的记录名称。关联的记录值可能是

_98d2646601fa951d53639ac514e785e8.acm-validation.aws.

,表示相同的记录。

请注意,在该表中,前两个记录名称记录对是相同的。这说明,对于通配符域(如 *.example.com), 创建的随机字符串ACM与创建其基本域 的相同example.com。否则,每个域名的成对记录名称和记录值将不同。

示例 CNAME 记录
域名 记录名称 记录值 评论
*.example.com _x1.example.com。 _x2.acm-validations.aws。 相同
example.com _x1.example.com。 _x2.acm-validations.aws。
www.example.com _x3.www.example.com。 _x4.acm-validations.aws。 唯一
host.example.com _x5.host.example.com。 _x6.acm-validations.aws。 唯一
subdomain.example.com _x7.子域.example.com。 _x8.acm-validations.aws。 唯一
host.subdomain.example.com _x9.host.subdomain.example.com。 _x10.acm-validations.aws。 唯一
注意

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

当您请求证书并指定 DNS 验证时, ACM 提供以下格式的 CNAME 信息:

域名 记录名称 记录类型 记录值
example.com _a79865eb4cd1a6ab990a45779b4e0b96.example.com。 别名记录

_424c7224e9b0146f9a8808af955727d0.hkmpvcbzw.acm-validations.aws。

Domain Name (域名) 是与证书关联的 FQDN。记录名称唯一标识记录,充当 键/值对的键。Record Value (记录值) 用作 键/值对的值。

所有这三个值都必须输入到 DNS 提供商的 Web 界面的相应字段中,以便添加 DNS 记录。提供商对记录名称 (或简称“名称”) 字段的处理不一致。在某些情况下,您需要提供如上所示的整个字符串。其他提供商会自动将域名附加到您输入的任何字符串,即,您只应输入的内容 (在此示例中)

_a79865eb4cd1a6ab990a45779b4e0b96

名称字段中。如果您猜到这方面的错误,并输入包含域名(例如 .example.com )的记录名称,则可能会得到以下内容:

_a79865eb4cd1a6ab990a45779b4e0b96.example.com.example.com

在这种情况下,验证将失败。因此,您应尝试预先确定您的提供商所需的输入类型。

设置 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 validationDNS 验证) 和 Next (下一步)。

  6. Add tags (添加标签) 页面上,您可以选择使用元数据标记证书。完成后选择 Review (审核)。

  7. Review (审核) 页面上,验证域名和验证方法是否正确,然后选择 Confirm and request (确认并请求)。

  8. Validation (验证) 页面上,完成以下两个过程之一:

    1. (可选) 使用 验证 Route 53。

      Validation (验证) 页面上,单击您的域名旁边的向下箭头。如果满足以下条件,则会显示活动的 Create record in Route 53 (在 Route Route 53 中创建记录) 按钮:

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

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

      • 您的 FQDN 尚未经过验证。

      注意

      如果您实际上使用的是 Route 53 ,但 Create record in Route 53 (在 Route Route 53 中创建记录) 按钮缺失或禁用,请参阅ACM 控制台不显示“Create record in Route 53(在 中创建记录)”按钮

      选择 Create record in Route 53 (在 Route Route 53 中创建记录) 按钮,然后选择 Create (创建)。Validation (验证) 页面现在应在底部显示 Success (成功) 的状态通知。

      选择 Continue (继续) 以查看 Certificates (证书) 列表页面,其中,您的新证书可能在长达 30 分钟内仍显示 Pending validation (等待验证) 状态。

      提示

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

    2. (可选)如果您没有使用 Route 53 作为 DNS 提供商,则必须从 Validation (验证) 页面中检索 CNAME 信息的名称并添加您的 DNS 数据库。您可以通过以下两种方式之一来执行此操作:

      • Domain (域) 部分中,展开您的域信息并记录 CNAME 组件。此信息需要手动添加到 DNS 数据库中。

      • 或者,选择 Validation (验证) 页面底部的 Export DNS configuration to a file (将 DNS 配置导出到文件)。文件中的信息需要手动添加到 DNS 数据库中。

      重要

      要避免验证问题,请先查看的 CNAME 记录ACM的工作原理,然后再将信息添加到 DNS 提供商的数据库中。如果您遇到问题,请参阅排查 DNS 验证问题

      在 DNS 提供商的配置页面上添加别名记录后,返回 ACM 控制台(如果它仍处于打开状态),然后选择 Continue (继续)。如果您已关闭 控制台,则可以稍后返回到控制台以检查证书请求的状态。

      Certificates (证书) 页面显示一个表视图,其中包含您的所有证书。在您的 DNS 提供商传播您的记录更新后, 可能需要几个小时ACM来验证域名并颁发证书。在此期间,ACM 显示验证状态为等待验证。验证域名后,ACM 将验证状态更改为成功。AWS 颁发证书后,ACM 将证书状态更改为已颁发

    注意

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