

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

# 添加由第三方 DNS 提供商管理的自定义域
<a name="to-add-a-custom-domain-managed-by-a-third-party-dns-provider"></a>

如果未使用 Amazon Route 53 来管理您的域，则可以为使用 Amplify 部署的应用程序添加一个由第三方 DNS 提供商管理的自定义域。

如果您正在使用 GoDaddy，[更新由管理的域的 DNS 记录 GoDaddy](to-add-a-custom-domain-managed-by-godaddy.md)请参阅，了解该提供商的特定说明。

**添加由第三方 DNS 提供商管理的自定义域**

1. 登录 AWS 管理控制台 并打开 [Amplify](https://console.aws.amazon.com/amplify/) 控制台。

1. 选择要向其添加自定义域的应用程序。

1. 在导航窗格中，依次选择**托管**、**自定义域**。

1. 在**自定义域**页面上，选择**添加域**。

1. 输入您的根域的名称。例如，如果您的域名是 **https://example.com**，请输入**example.com**。

1. Amplify 检测到您并未使用 Route 53 域，因此您可以选择在 Route 53 中创建托管区。
   + 在 Route 53 中创建一个托管区的方法

     1. 选择**在 Route 53 中创建托管区**。

     1. 选择**配置域**。

     1. 托管区名称服务器会显示在控制台中。转到您的 DNS 提供商的网站，将名称服务器添加到 DNS 设置中。

     1. 选择**我已将上述名称服务器添加到我的域注册机构**。

     1. 继续执行步骤 7。
   + 通过手动配置继续的方法

     1. 选择**手动配置**

     1. 选择**配置域**。

     1. 继续执行步骤 7。

1. 默认情况下，Amplify 会自动为您的域创建两个子域条目。**例如，如果您的域名是 e **xample.com**，您将看到子域名，**https://www.example.com**并**https://example.com**设置了从根域名到 www 子域名的重定向。**

   （可选）如果只想添加子域，可以修改默认配置。要更改默认配置，请从导航窗格中选择**重写和重定向**，并配置您的域。

1. 选择要使用的 SSL/TLS 证书。您可以使用 Amplify 为您提供的默认托管证书，也可以使用已导入的自定义第三方证书。 AWS Certificate Manager
   + 使用默认 Amplify 托管证书。

     1. 选择 **Amplify 托管证书**。
   + 使用自定义第三方证书。

     1. 选择**自定义 SSL 证书**。

     1. 从列表中选择需要使用的证书。

1. 选择**添加域**。

1. 如果您在步骤 6 中选择了**在 Route 53 中创建托管区**，请继续执行步骤 15。

   如果您选择了**手动配置**，则在步骤 6 中必须通过第三方域提供商更新您的 DNS 记录。

   在**操作**菜单上，选择**查看 DNS 记录**。以下屏幕截图展示了在控制台中显示的 DNS 记录。  
![\[Amplify 控制台中显示的 DNS 记录。\]](http://docs.aws.amazon.com/zh_cn/amplify/latest/userguide/images/amplify-customdomains-DNSRecords.png)

1. 请执行以下操作之一：
   + 如果您正在使用 GoDaddy，请转至[更新由管理的域的 DNS 记录 GoDaddy](to-add-a-custom-domain-managed-by-godaddy.md)。
   + 如果您使用的是其他第三方 DNS 提供商，请转到此流程的下一步。

1. 前往您的 DNS 提供商的网站，登录您的账户，然后找到域的 DNS 管理设置。您将配置两条 CNAME 别名记录。

1. 将第一个 CNAME 记录配置为将您的子域指向 AWS 验证服务器。

   如果 Amplify 控制台显示用于验证您的子域所有权的 DNS 记录，例如 **\$1c3e2d7eaf1e656b73f46cd6980fdc0e.example.com**，则仅为 CNAME 别名记录子域名输入 ** \$1c3e2d7eaf1e656b73f46cd6980fdc0e**。

   以下屏幕截图显示了要使用的验证记录所在的位置。  
![\[Amplify 控制台中的 DNS 记录部分，标出了主机名验证记录。\]](http://docs.aws.amazon.com/zh_cn/amplify/latest/userguide/images/amplify-customdomains-DNS-verification-1.png)

   如果 Amplify 控制台显示 ACM 验证服务器记录，例如 **\$1cjhwou20vhu2exampleuw20vuyb2ovb9.j9s73ucn9vy.acm-validations.aws**，则为 CNAME 别名记录值输入 **\$1cjhwou20vhu2exampleuw20vuyb2ovb9.j9s73ucn9vy.acm-validations.aws**。

   以下屏幕截图显示了要使用的 ACM 验证记录所在的位置。  
![\[Amplify 控制台中的 DNS 记录，包含 ACM 验证记录。\]](http://docs.aws.amazon.com/zh_cn/amplify/latest/userguide/images/amplify-customdomains-DNS-verification2.png)

   Amplify 使用这些信息来验证您的域名所有权并为您的域名生成 SSL/TLS 证书。在 Amplify 控制台验证您的域的所有权后，将使用 HTTPS/2 传送所有流量。
**注意**  
由 AWS Certificate Manager (ACM) 生成的默认 Amplify 证书有效期为 13 个月，只要您的应用程序由 Amplify 托管，该证书就会自动续订。如果别名记录验证记录已被修改或删除，Amplify 将无法续订证书。您必须在 Amplify 控制台中删除并重新添加该域。
**重要**  
在 Amplify 控制台中添加自定义域后，请尽快执行此步骤，这一点很重要。 AWS Certificate Manager (ACM) 立即开始尝试验证所有权。随着时间的推移，检查的频率会降低。如果您在创建应用程序几小时后添加或更新别名记录，则可能会导致您的应用程序陷入待验证状态。

1. 配置第二条 CNAME 别名记录，将您的子域指向 Amplify 域。例如，如果您的子域为 **www.example.com**，请为子域名输入 **www**。

   如果 Amplify 控制台将您的应用程序的域显示为 **d111111abcdef8.cloudfront.net**，请为 Amplify 域输入 **d111111abcdef8.cloudfront.net**。

   如果您有生产流量，我们建议您在 Amplify 控制台中的域状态显示为**可用**后更新此别名记录。

   以下屏幕截图显示了要使用的域名记录所在的位置。  
![\[Amplify 控制台中的 DNS 记录，包含域名记录。\]](http://docs.aws.amazon.com/zh_cn/amplify/latest/userguide/images/amplify-customdomains-DNS-verification3.png)

1. 将 ANAME/ALIAS 记录配置为指向应用程序的根域（例如 **https://example.com**）。ANAME 记录将域根指向一个主机名。如果您有生产流量，我们建议您在 Amplify 控制台中的域状态显示为**可用**后更新别名记录。对于不 ANAME/ALIAS 支持的 DNS 提供商，我们强烈建议您将 DNS 迁移到 Route 53。有关更多信息，请参阅[将 Amazon Route 53 配置为 DNS 服务](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring.html)。

**注意**  
域所有权的验证和第三方域的 DNS 传播可能需要长达 48 小时。如需帮助解决出现的错误，请参阅[自定义域问题排查](custom-domain-troubleshoot-guide.md)。