AWS:将 Amplify 连接到 Route 53 上的自定义域

AWS: Connect Amplify to custom domain on Route 53

根据标题,出于某种原因,我无法将 Amplify 上部署的应用程序连接到 Route 53 上提供的自定义域。

这是使用 Amplify 部署的应用程序:https://master.dwog1beoc1uv7.amplifyapp.com/

在 Route 53 上,我创建了一个托管区域并添加了一个 CNAME 记录,它将自定义域连接到 amplify 托管应用程序的域:

然后我转到 Amplify 并为应用程序添加了一个新域:

如果我现在回到 53 号公路,我可以看到记录已经自动更新如下:

尽管一切似乎都已正确设置,但自定义域 (http://alessiopetrin.com/) 还不能正常工作。

如果我在 Route 53 上测试记录,一切似乎都很好:

我知道我应该留出一些时间让 DNS 传播生效(AWS 规定最多 24 小时),但时间快到了,我看不到它在工作,这让我觉得有些事情是关闭。

根据第二张截图,我可以在 Amplify 上看到它正在等待我添加 CNAME 记录以激活域,所以我认为这可能是缺失的部分;问题是该记录已自动分配到 Route 53 上,所以不确定我是否也应该将记录添加到其他地方?

如果我问的问题很明显,请见谅,在此先感谢您的帮助!

请注意,aws 生成 SSL 所需的 cname 请求是强制性的,并且应具有以下形式:

Route53 中的一个明显错误是 Value/Route 流量流向 https://master.dwog1beoc1uv7.amplifyapp.com/。添加 CNAME 时,您不会添加协议,而只会添加域名。应该是master.dwog1beoc1uv7.amplifyapp.com

编辑 Cloudfront Distribution 有问题。我不知道,如果这是因为你做了什么,或者这是一个放大问题。您需要以某种方式调试分发。转到 AWS 控制台中的 Cloudfront 服务并找到您的分发。要检查的一些事项:

  • 备用域正确(您的自定义域)
  • SSL 证书正确

转到行为选项卡并单击编辑:

  • 应将包含您的代码的 S3 存储桶用作源
  • Headers
  • 上应该没有缓存

Amplify添加的记录是正确的。我在您的域上执行了 dig 命令并观察到“SERVFAIL”状态。此错误是由于名称服务器不匹配造成的。

当前使用以下名称服务器。

ns1.dynadot.com ns2.dynadot.com

参考:https://www.whois.com/whois/alessiopetrin.com

请将名称服务器设置为托管区域 (https://i.stack.imgur.com/U6Lj8.png) 的 NS 记录。请参阅以下文档:

https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.html#domain-name-servers-glue-records-adding-changing

然后,从 amplify 中删除域并尝试重新添加它。它应该有效。