我花了几个小时处理AWS CloudFront问题,希望有人可以救我:D
当我加载网站主页时,我获得的每个资产(在每次重新加载时):
X-Cache:Miss from cloudfront
当我尝试在另一个标签中打开资产时,我得到了正确的行为(第一次调用时错过,然后点击每次重新加载)。与curl请求相同。
我重新装载我的房子并检查相同的资产,我得到:
X-Cache:Hit from cloudfront
与选项卡中的年龄相似。
然后我重新加载我的主页并再次检查相同的元素:
X-Cache:Miss from cloudfront
:'(
从这一点来说,当我在另一个标签中重新加载资产时,我得到了一个错过......
有什么想法吗?
谢谢,
的Jérémy
答案 0 :(得分:0)
经过对Apache配置和CloudFront配置的多次测试后,我发现了导致此行为的cookie。
跟踪系统使用的某些Cookie会在每次调用时更改其值,然后cloudfront不会缓存请求。
要解决此问题,请为每种类型的路径(后端呼叫,资产等)创建自定义行为,并创建您真正需要在其中转发的Cookie白名单。
我希望这会对某人有所帮助。
感谢@AlexZakharenko和@BruceP的回复;)