为 EC2 实例设置 CloudFront

为 EC2 实例设置 CloudFront

我一直在 Google 和 AWS 文档上检查相关内容,但似乎无法确定这一点。

我有一个 EC2 实例设置,其域名通过虚拟主机提供服务,并且我需要使用 CDN 来存储网站上的内容,主要是图像,即网站资产。

EC2 实例的详细信息

  • t2.micro
  • 激光多聚酶链反应
  • 虚拟主机设置
  • DNS:Route 53
  • 无 ELB
  • 电子商务
  • SSL

Cloudfront 分发详细信息

  • 来源:example.com
  • 交付方式:网络

我尝试做的是在原点使用域名,而 Cloudfront 域现在正在重定向到原点域名并通过 https 获取资产。

我没有发现对网站速度有任何影响,从不同的地理位置进行 ping 操作,因此我开始怀疑这是否正确完成。

我需要解决的部分是以下哪条路径适合使用 EC2 设置 Cloudfront:

  1. 使用 EC2 实例 DNS 作为“源域名”,并在虚拟主机的“源路径”中添加目录名称
  2. 仅在‘源域名’中添加域名

谢谢您的帮助!

编辑

附加 53 号路线详细信息

  • A 记录 => 名称:www.example.com,值:IP 地址和路由策略:简单
  • A 记录 => 名称:example.com、别名:是 & 别名目标:www​​.example.com

編輯02

更新了 AWS 设置 EC2、Route 53 和 CloudFront 之间的 AWS 设置

答案1

在 DNS 中,example.com 需要是一条 A 记录,且别名设置为是,指向 CloudFront 端点。

这意味着 example.com 不再指向您的源服务器,因此您必须使用不同的名称作为源主机。一种选择是使用实例的 EC2 公共 DNS 名称。

Host:默认情况下,CloudFront 会在向实例发送请求时在标头中设置源域名。您可以在缓存行为中通过将Host标头列入白名单来覆盖此设置,这样即使用于实际查找源的 DNS 条目不同,example.com 也会在请求中发送到源。

如果$ dig example.com没有返回大量 IP 地址,则表明您当前实际上并没有使用 CloudFront。

从 CloudFront 返回的 HTTP 响应还将包含额外的标头,包括X-Amz-Cf-idX-CacheVia,有时还包括Age

相关内容