Caching 云锋奇怪的行为
我花了几个小时解决了一个AWS CloudFront问题,希望有人能救我:D 当我加载网站主页时,对于我获得的每个资产(每次重新加载时): 当我尝试在另一个选项卡中打开资源时,我得到了正确的行为(第一次调用时未命中,然后每次重新加载时命中)。curl请求也是如此 我重新装填我的房子并检查相同的资产,我得到:Caching 云锋奇怪的行为,caching,amazon-web-services,amazon-cloudfront,Caching,Amazon Web Services,Amazon Cloudfront,我花了几个小时解决了一个AWS CloudFront问题,希望有人能救我:D 当我加载网站主页时,对于我获得的每个资产(每次重新加载时): 当我尝试在另一个选项卡中打开资源时,我得到了正确的行为(第一次调用时未命中,然后每次重新加载时命中)。curl请求也是如此 我重新装填我的房子并检查相同的资产,我得到: X-Cache:Hit from cloudfront 与选项卡中的年龄相似 然后我重新加载主页并再次检查同一元素: X-Cache:Miss from cloudfront :'( 从
X-Cache:Hit from cloudfront
与选项卡中的年龄相似
然后我重新加载主页并再次检查同一元素:
X-Cache:Miss from cloudfront
:'(
从这一点开始,当我在另一个选项卡中重新加载资源时,我会错过一次
有什么想法吗
谢谢
Jérémy在对Apache配置和CloudFront配置进行了多次测试后,我发现cookie导致了这种行为 跟踪系统使用的一些cookie会在每次调用时更改其值,然后cloudfront不会缓存请求 要解决这个问题,请为每种类型的路径(后端调用、资产等)创建一个自定义行为,并创建一个您确实需要在其中转发的cookie白名单 我希望这能帮助别人
感谢@Alexakharenko和@BruceP的回复;)是否是浏览器缓存存储了第一个选项卡的未命中?我的意思是-你确定每次都会从CloudFront获取响应吗?要验证它,请检查X-Amz-Cf-Id的值。如果每次重新加载的值相同,则为本地缓存。您是否正确设置了对象上的TTL?考虑到您描述的行为,TTL可能非常低或根本没有设置。看一看。谢谢你们的回复。Alexazakharenko:重新检查后,X-Amz-Cf-Id在每个请求上都不同BruceP:我不是缓存系统专家,我为资产TTL提供过期和缓存控制头,我认为这是正确的方法。对于我的资产,TTL在7200到86400秒之间。也许我对cloudfront发行版的配置有误,是不是有一些技巧和窍门?
X-Cache:Miss from cloudfront