我们在 AWS Amplify 中有一个站点。创建自定义域需要将 URL 指向他们发布的 CNAME。我们希望将 Amplify 网站用于我们的根域“example.com”。RFC 1034 说区域顶点必须是 A 记录,而不是 CNAME。
根据https://aws.amazon.com/blogs/networking-and-content-delivery/solving-dns-zone-apex-challenges-with-third-party-dns-providers-using-aws/上的文章,共有三个选项:Route53、带有 EC2 实例的弹性 IP 和 Global Accelerator。
由于我们使用的是 AWS Amplify,因此我们无法执行 EC2 选项。Route53 选项不适用于我们的旧 DNS 服务器,它只适用于 IP 地址。第三种选择是使用 AWS Global Accelerator 和 Application Load Balancer (ALB),它执行 301 重定向到我们的 Cloudfront 分发,该分发具有我们的 Amplify 实例的自定义 SSL 证书。
当我们将 DNS 指向与 AWS Global Accelerator 关联的 IP 时,到 Cloudfront 的 301 重定向正在工作。Cloudfront 中的某些配置会导致 403 错误。
在编辑行为 > 缓存键和源请求下,如果禁用缓存策略,并且源请求策略设置为无,则 Amplify 站点将加载但使用 Cloudfront 分发 URL。
当我为缓存策略或源请求策略启用任何缓存时,它会中断。它只是返回一个 403 错误,表示无法满足请求。
Amplify 中是否有我丢失的设置导致 403 错误?我应该做一些完全不同的事情吗?