本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 App Runner 服务的自定义域名
创建 AWS App Runner 服务时,App Runner 会为其分配一个域名。这是 App Runner 拥有的awsapprunner.com
域中的一个子域名。您可以使用域名来访问您的服务中运行的 Web 应用程序。
注意
为了增强 App Runner 应用程序的安全性,*.awsapprunner.com 域已在公共后缀列表 () 中注册。PSL__Host-
前缀的 Cookie。这种做法将有助于保护您的域名免受跨站请求伪造企图的侵害()CSRF。要了解更多信息,请参阅 Mozilla 开发者网络中的 Set-Cookie
如果您拥有域名,则可以将其关联到您的 App Runner 服务。App Runner 验证您的新域名后,除了 App Runner 域之外,您还可以使用您的域名来访问您的应用程序。您最多可以关联五个自定义域名。
注意
您可以选择添加域名的www
子域名。但是,目前仅支持API。App Runner 控制台不支持包含您的www
域名的子域名。
注意
AWS App Runner 不支持使用 Route 53 私有托管区域。私有托管区域可为 Amazon VPC 流量自定义域名解析。有关私有托管区域的更多信息,请参阅 Route 53 文档中的使用私有托管区域。
将自定义域名与您的服务关联(链接)
将自定义域与服务关联时,必须将CNAME记录和DNS目标记录添加到DNS服务器。以下各节提供有关CNAME记录和DNS目标记录以及如何使用它们的信息。
注意
如果您使用 Amazon Route 53 作为DNS提供商,App Runner 会自动为您的自定义域配置所需的证书验证和DNS记录,以链接到您的 App Runner 网络应用程序。当您使用 App Runner 控制台将自定义域名链接到您的服务时,就会发生这种情况。以下管理自定义域名主题提供了更多信息。
CNAME记录
当您将自定义域与服务关联时,App Runner 会为您提供一组用于证书验证的证书验证记录。您必须将这些证书验证记录添加到您的域名系统 (DNS) 服务器。将 App Runner 提供的证书验证记录添加到您的DNS服务器。这样,App Runner 就可以验证您是否拥有或控制该域名。
注意
要自动续订自定义域名证书,请确保不要从DNS服务器上删除证书验证记录。有关如何解决与证书续订相关的问题的信息,请参阅续订自定义域名证书。
App Runner ACM 用于验证域名。如果您在CAA记录中使用DNS记录,请确保至少有一条CAA记录引用amazon.com
。否则,将ACM无法验证域名并成功创建您的域名。
如果您收到与之相关的错误CAA,请参阅以下链接以了解如何解决这些错误:
注意
如果您使用 Amazon Route 53 作为DNS提供商,App Runner 会自动为您的自定义域配置所需的证书验证和DNS记录,以链接到您的 App Runner 网络应用程序。当您使用 App Runner 控制台将自定义域名链接到您的服务时,就会发生这种情况。以下管理自定义域名主题提供了更多信息。
DNS目标记录
将DNS目标记录添加到您的DNS服务器以定向 App Runner 域。如果您选择此选项,则为自定义域名添加一条记录,为www
子域添加另一条记录。然后,在 App Runner 控制台中等待自定义域名状态变为 “激活”。这通常需要几分钟,但可能最多需要 24-48 小时(1—2 天)。当您的自定义域名通过验证后,App Runner 会开始将流量从该域路由到您的 Web 应用程序。
注意
为了更好地兼容 App Runner 服务,我们建议您使用 Amazon Route 53 作为您的DNS提供商。如果您不使用 Amazon Route 53 来管理您的公共DNS记录,请联系您的DNS提供商以了解如何添加记录。
如果您使用 Amazon Route 53 作为DNS提供商,则可以为子域名添加任一记录CNAME或别名记录。对于根域,请确保使用别名记录。
您可以从 Amazon Route 53 或其他提供商处购买域名。要使用亚马逊 Route 53 购买域名,请参阅亚马逊 R oute 53 开发者指南中的注册新域名。
有关如何在 Route 53 中配置DNS目标的说明,请参阅 Amazon Route 53 开发者指南中的将流量路由到您的资源。
有关如何在其他注册商(例如 Shopify GoDaddy、Hover 等)上配置DNS目标的说明,请参阅他们关于添加 Targe DNS t 记录的特定文档。
指定要与 App Runner 服务关联的域
您可以通过以下方式指定要与 App Runner 服务关联的域:
-
根域 — DNS 有一些固有的限制,可能会阻止您为根域名创建CNAME记录。例如,如果您的域名是
example.com
,则可以创建一条CNAME记录,将流量路由acme.example.com
到您的 App Runner 服务。但是,您无法创建将流量路由example.com
到您的 App Runner 服务的CNAME记录。要创建根域,请确保添加别名记录。别名记录特定于 Route 53,与CNAME记录相比具有以下优点:
-
Route 53 为您提供了更大的灵活性,因为可以为根域或子域创建别名记录。例如,如果您的域名是,则可以创建一条记录
example.com
,将请求路由到您的 App Runner 服务example.com
或发送acme.example.com
到 App Runner 服务的请求。 -
它更具成本效益。这是因为 Route 53 不对使用别名记录路由流量的请求收费。
-
-
子域名-例如,
login.example.com
或admin.login.example.com
。您也可以选择将www
子域关联为同一操作的一部分。您可以为子域名添加CNAME或别名记录。 -
通配符-例如,
*.example.com
。在这种情况下,您不能使用该www
选项。您只能将通配符指定为根域名的直接子域,并且只能将其指定为根域名的直接子域。这些不是有效的规范:login*.example.com
,*.login.example.com
。此通配符规范将所有直接子域名关联起来,并且不关联根域名本身。根域必须通过单独的操作进行关联。
更具体的域关联会覆盖不太具体的域名关联。例如,login.example.com
覆盖*.example.com
。使用证书和更具体CNAME的协会的证书。
以下示例显示了如何使用多个自定义域名关联:
-
example.com
与您的服务的主页关联。启用www
以进行关联www.example.com
。 -
login.example.com
与您的服务的登录页面关联。 -
*.example.com
与自定义 “未找到” 页面关联。
取消关联(取消关联)自定义域名
您可以取消自定义域名与 App Runner 服务的关联(取消关联)。当您取消链接某个域时,App Runner 会停止将流量从该域路由到您的 Web 应用程序。
注意
您必须删除与DNS服务器取消关联的域名的记录。
App Runner 在内部创建用于跟踪域有效性的证书。这些证书存储在 AWS Certificate Manager (ACM) 中。App Runner 在域名与您的服务解除关联后或服务被删除后 7 天内不会删除这些证书。
管理自定义域名
使用以下方法之一管理您的 App Runner 服务的自定义域名:
注意
为了更好地兼容 App Runner 服务,我们建议您使用 Amazon Route 53 作为您的DNS提供商。如果您不使用 Amazon Route 53 来管理您的公共DNS记录,请联系您的DNS提供商以了解如何添加记录。
如果您使用 Amazon Route 53 作为DNS提供商,则可以为子域名添加任一记录CNAME或别名记录。对于根域,请确保使用别名记录。