本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新由 Cloudflare 管理的域名的 DNS 记录
如果Cloudflare是您的DNS提供商,请按照以下说明在Cloudflare控制面板中更新您的DNS记录,以完成您的Amplify应用程序与您的Cloudflare域的连接。Cloudflare 还可以充当反向代理,提供缓存、安全和性能功能。由于Amplify在 SSL/TLS 颁发证书之前会验证您的DNS记录,因此您必须首先使用Cloudflare的仅限 DNS模式添加记录。在 Amplify 验证您的域名后,您可以选择为您的域名记录启用 Cloudflare 代理。
当您添加自定义域时,Amplify 会默认配置根域(也称为顶点域或裸域,例如 .com)和 www 子域(www.example.com)。 Amplify 还提供了自动将根域重定向到 www 子域的选项。因此,你通常会在Cloudflare中为顶点域名和www子域名添加DNS记录。
注意
顶点域是通常导致第三方 DNS 提供商出现问题的部分。DNS 标准不允许在域名顶端使用 CNAME 记录。Cloudflare 通过自动应用 CNAME 扁平化来绕过这个限制。
添加由 Cloudflare 管理的自定义域名
-
在使用Cloudflare更新您的DNS记录之前,请先完成该程序添加由第三方 DNS 提供商管理的自定义域的第一到第九步。
-
登录您的 Cloudflare 账户,网址为。 https://dash.cloudflare.com/
-
选择要添加的域。在左侧导航窗格中,选择 DNS,然后选择记录。
-
为 Amplify 正在配置的每个域名创建一个 CNAME 记录。默认情况下,这是顶点域(例如,examp le.com)和 www 子域名(www.example.com)。 重复以下子步骤,为每个子步骤添加一条记录。
-
选择添加记录。
-
对于类型,选择 CNAME。
-
在 “名称” 中,输入要添加的域名的记录名称:
-
对于顶点域,输入 @ 。如前面的说明中所述,Cloudflare 会自动在顶点应用别名扁平化。
-
对于 www 子域,输入 www 。
-
-
对于 Target,在 Amplify 控制台中查看您的 DNS 记录并输入值。例如,如果 Amplify 控制台将您的应用程序的域名显示为 d111111abcdef8.cloud front.net,请输入。
d111111abcdef8.cloudfront.net -
对于 “代理状态”,选择 “仅限 DNS”(灰云)。
-
选择保存。
-
-
创建第二条 CNAME 记录以指向 AWS Certificate Manager (ACM) 验证服务器。一个经过验证的 ACM 会为您的域生成 SSL/TLS 证书。
-
选择添加记录。
-
对于类型,选择 CNAME。
-
对于名称,请输入子域。例如,如果 Amplify 控制台中用于验证子域所有权的 DNS 记录为 _c3e2d7eaf1e656b73f73f46cd6980fdc 0e.example.com,则仅输入。
_c3e2d7eaf1e656b73f46cd6980fdc0e -
对于 Target,输入来自 Amplify 控制台的 ACM 验证证书值。例如,_cjhwou20vhu2exampleuw20vuyb2ovb9.j9s73ucn9vuy2ovb9.j 9s73ucn9vy.acm-validations.aws。
-
对于 “代理状态”,选择 “仅限 DNS”(灰云)。
-
选择保存。
重要
必须将 ACM 验证记录设置为仅限 DNS。AWS 依靠此 CNAME 记录的准确性来自动续订您的 SSL/TLS 证书。如果您代理证书记录,证书续订将失败,这可能导致您的域名不可用。
-
-
Amplify 会验证记录并添加您的域名。当 Amplify 验证您的域名时,所有记录都必须保持仅限 DNS 模式。Amplify 直接读取记录值,代理记录会阻止 Amplify 读取正确的值。
注意
域所有权的验证和第三方域的 DNS 传播可能需要长达 48 小时。如需帮助解决出现的错误,请参阅自定义域问题排查。
-
(可选)在 Amplify 验证您的域名后,您可以通过 Cloudflare 代理您的子域名记录。
-
在左侧导航窗格中,选择 SSL/TLS。在 “概述” 页面上,选择 “配置”,然后选择 “完全(严格)” 作为加密模式。此模式使用 HTTPS 端到端,与 Amplify SSL/TLS 提供的证书配合使用,并防止重定向循环。不要使用灵活模式,该模式在 Cloudflare 和 Amplify 之间使用 HTTP,可能会导致重定向循环。
-
选择 DNS > 记录,将子域记录的代理状态设置为代理(橙色云)。保持 ACM 验证记录设置为仅限 DNS。
-
注意
由 AWS Certificate Manager (ACM) 生成的默认 Amplify 证书有效期为 13 个月,只要您的应用程序由 Amplify 托管,就会自动续订。如果已通过 Cloudflare 修改、删除或代理 CNAME 验证记录,Amplify 将无法续订证书。如果发生这种情况,则必须在 Amplify 控制台中删除并再次添加该域。