将流量从 AWS Route53 路由到 AWS Cloudfront

Routing traffic from AWS Route53 to AWS Cloudfront

问题 -

CloudFront 中的自定义域无法正常工作

我在 AWS 中托管一个静态网站。有两个 S3 存储桶 - mydomain.comwww.mydomain.com,其中后一个重定向到第一个。

在 Route 53 中,mydomain.com 指向 S3 存储桶作为 A 记录和 wwww。mydomain.com 作为 A 记录别名 mydomain.com.

现在我想使用 CloudFront,但想用作 https://cdn.mydomain.com/asset/some-image.png。所以,我添加了mydomain.comwww.mydomain.comcdn.mydomain.com 作为 CloudFront 中的备用域名 (CNAME)。但请注意,我没有名为 cdn.mydomain.com

的 S3 存储桶

现在根据需要,在 AWS ACM 中,我还添加了 mydomain.com 作为域名,另外两个(www 和 cdn)作为备用域名和所有这 3 个域中的 3 个在 AWS Route 53 中有 CNAME 记录。

最后,我想将流量从 Route 53 路由到 Cloudfront,但想使用我想要的 cdn。mydomain.com 代替。因此,我在 Route 53 中创建了 A 和 AAA 别名记录。

名称-cdn

别名 - 是

别名目标 - 云端生成的域

结果:

cloudfront 生成的域有效,它指向我的网站,但 cdn.mydomain.com 不(未找到 IP 地址)。就在此时,我创建了另一个 S3 存储桶 cdn.mydomain.com 并重定向到 mydomain.com。但是此操作需要在 Route 53 中添加一条 A 记录。但是已经有一条同名的 A 记录 - cdn.mydomain.com 指向 CloudFront 域,因此无法为同名创建另一个别名.

如果清楚我的问题是什么,请提出解决方案。

好吧,显然问题出在 CloudFront -> 查看器协议策略 中的 仅 HTTPS 策略。不知道为什么这很重要。将其更改为 将 HTTP 重定向到 HTTPS 出人意料地解决了这个问题。