自定义域名 - AWS App Runner

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

自定义域名

本节介绍如何对链接到自定义域名时可能遇到的各种错误进行故障排除和解决。

注意

为了增强 App Runner 应用程序的安全性,*.awsapprunner.com 域已在公共后缀列表 (PSL) 中注册。为了进一步提高安全性,如果您需要在 App Runner 应用程序的默认域名中设置敏感 Cookie,我们建议您使用带__Host-前缀的 Cookie。这将有助于保护您的域,防范跨站点请求伪造 (CSRF) 攻击。要了解更多信息,请参阅 Mozilla 开发者网络中的 Set-Cookie 页面。

自定义域名出现创建失败错误

  • 检查此错误是否由于 CAA 记录有问题所致。如果 DNS 树中的任何地方都没有 CAA 记录,则您会收到一条消息fail open,并 AWS Certificate Manager 颁发证书以验证自定义域。这允许 App Runner 接受自定义域。如果您在 DNS 记录中使用 CAA 认证,请确保至少一个域名的 CAA 记录包括。amazon.com否则,ACM 将无法颁发证书。因此,无法创建 App Runner 的自定义域。

    以下示例使用 DNS 查找工具 diG 来显示缺少必填条目的 CAA 记录。该示例使用example.com作为自定义域。在示例中运行以下命令以检查 CAA 记录。

    ... ;; QUESTION SECTION: ;example.com. IN CAA ;; ANSWER SECTION: example.com. 7200 IN CAA 0 iodef "mailto:hostmaster@example.com" example.com. 7200 IN CAA 0 issue "letsencrypt.org" ...note absence of "amazon.com" in any of the above CAA records...
  • 更正域名记录,并确保至少有一条 CAA 记录包括amazon.com

  • 重试将自定义域与 App Runner 关联。

有关如何解决 CAA 错误的说明,请参阅以下内容:

自定义域名的 DNS 证书验证待处理错误

  • 检查您是否跳过了自定义域名设置中的一个重要步骤。此外,请检查您是否使用 DI G 等 DNS 查询工具错误地配置了 DNS 记录。特别是,请检查是否存在以下错误:

    • 任何错过的步骤。

    • DNS 记录中不支持的字符,例如双引号。

  • 纠正错误。

  • 重试将自定义域与 App Runner 关联。

有关如何解决 CAA 验证错误的说明,请参阅以下内容。

基本故障排除命令

  • 确认可以找到服务。

    aws apprunner list-services
  • 描述一项服务并检查其状态。

    aws apprunner describe-service --service-arn
  • 检查自定义域的状态。

    aws apprunner describe-custom-domains --service-arn
  • 列出所有正在进行的操作。

    aws apprunner list-operations --service-arn

续订自定义域名证书

当你向服务添加自定义域名时,App Runner 会为你提供一组别名记录,供你添加到 DNS 服务器中。这些 CNAME 记录包括证书记录。App Runner 使用 AWS Certificate Manager (ACM) 来验证域。App Runner 会验证这些 DNS 记录,以确保该域名的持续所有权。如果您从 DNS 区域中移除 CNAME 记录,App Runner 将无法再验证 DNS 记录,并且自定义域证书也无法自动续订。

本节介绍如何解决以下自定义域名证书续订问题:

CNAME 已从 DNS 服务器中删除

  • 使用 DescribeCustomDomainsAPI 或 App Runner 控制台中的自定义域名设置检索您的别名记录。有关存储的 CNAME 的信息,请参阅CertificateValidationRecords

  • 将证书验证 CNAME 记录添加到您的 DNS 服务器。然后,App Runner 可以验证您是否拥有该域名。添加 CNAME 记录后,最长可能需要 30 分钟才能传播 DNS 记录。App Runner 和 ACM 也可能需要几个小时才能重试证书续订流程。有关如何添加 CNAME 记录的说明,请参阅管理自定义域名

证书已过期

  • 使用 App Runner 控制台或 API 取消关联(取消链接),然后关联(链接)您的 App Runner 服务的自定义域。App Runner 会创建新的证书验证 CNAME 记录。

  • 将新的证书验证 CNAME 记录添加到您的 DNS 服务器。

    有关如何取消关联(取消关联)和关联(链接)自定义域名的说明,请参阅。管理自定义域名

如何验证证书是否已成功续订

您可以检查证书记录的状态,以验证您的证书是否已成功续订。您可以使用诸如 curl 之类的工具来检查证书的状态。

有关证书续订的更多信息,请参阅以下链接: