我的想法是使用cloudfront缓存EC2中的一个整个站点。但我这样做有很多麻烦。如果我将cloudfront选项转发标题设置为无,则会缓存来自apache的默认index.html(可能是因为CF正在缓存LB URL)。如果我将转发标题设置为白名单并在白名单标题中添加主机,则网站会正常显示但我可以看到响应标题:
X-Amz-Cf-Id:Ij8TsEU2hPehG53Op6LX1zFDmZfYWBOVFn8el8ApicCQYdYEi69HsQ==
X-Cache:Miss from cloudfront
以下是当前情况:
有人可以帮我解释如何正确配置吗?
更新1 只是一个快速观察,该网站是在WordPress。但是,我不认为使用任何cdn模块(如W3 Total Cache)是必要的,因为我希望缓存整个站点。
答案 0 :(得分:0)
查看CloudFront分配的“行为”部分。对象缓存有一个设置。如果将其设置为“Use Origin Cache Headers”,则需要为每个请求返回Cache-Control标头。如果您的应用程序未设置Cache-Control标头,则将对象缓存设置为“自定义”,并在“最小TTL”字段中为对象设置适当的TTL。
如果您没有设置自己的Cache-Control标头并且将此设置保留为默认值“Use Origin Cache Headers”,那么您实际上将无视CDN的目的,因为通过CDN提出的每个请求都将有效立即过期,因此通过CDN的每个请求仍将从原点获取。