使用负载平衡器和Route 53时出现CloudFront问题



我的想法是使用cloudfront缓存EC2中的一个整个站点。但是我有很多麻烦要做。如果我将cloudfront选项Forward Headers设置为none,则会缓存来自apache的默认index.html(可能是因为CF正在缓存LB URL)。如果我将转发标头设置为白名单,并在白名单标头机站点显示正常,但我可以在响应标头中看到:

X-Amz-Cf-Id:Ij8TsEU2hPehG53Op6LX1zFDmZfYWBOVFn8el8ApicCQYdYEi69HsQ==
X-Cache:Miss from cloudfront

这是当前的场景:

  1. 路由53,别名指向CloudFront(用于我的裸域和www
  2. CloudFront的Origin域名=负载平衡器DNS名称,cname也配置为裸域和www
  3. 带EC2的负载平衡器
  4. EC2有几个站点(我只想在其中一个站点中使用CF)

有人能帮我如何正确配置吗?

更新1只是一个快速的观察,该网站是在WordPress。但是,我认为没有必要使用任何cdn模块(如W3 Total Cache),因为我希望缓存整个网站。

查看CloudFront发行版的Behavior部分。"对象缓存"有一个设置。如果设置为"使用原始缓存标头",则需要为每个请求返回一个缓存控制标头。如果应用程序没有设置"缓存控制"标头,则将"对象缓存"设置为"自定义",并在"最小TTL"字段中为对象设置适当的TTL。

如果您没有设置自己的缓存控制标头,并且将此设置保留为默认值"使用原始缓存标头",那么您基本上将无法实现CDN的目的,因为通过CDN发出的每个请求都将立即有效过期,因此通过CDN的每个请求仍将从原始缓存中提取。

相关内容

最新更新