我现在正在使用cloudfront + S3,正在按预期提供图像,但是云端缓存命中/未命中看起来很糟糕。
重复步骤
x-cache:Hit from cloudfront
)X-Cache: Miss from cloudfront
)X-Cache: Hit from cloudfront
)我希望第一个curl
能够显示云端点击,因为浏览器之前显示了云端点击。
答案 0 :(得分:1)
这很可能是因为Cloudfront会在请求中的Cookie
信息中缓存,或者通过User-agent
,Content-Type
等其他标头缓存
Content-type
传递给源服务器。标题和默认行为的完整列表位于http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-headers-behavior 要查看您提出的请求中的标题:
<强>铬强>
检查开发人员工具中的网络选项卡。在那里你可以看到请求标题。
<强>卷曲强>
将-v
选项添加到请求
curl -v -I http://yoursite.com
它将输出类似
的内容> HEAD / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: yoursite.com
> Accept: */*
然后,您可以尝试在curl-request中添加/删除不同的标头,以模仿您的浏览器发出的请求。例如。添加相同的cookie-data:
curl -v -I -H "Cookie: my_cookie=some_value;" http://yoursite.com
您的方案中最可能的罪魁祸首是Content-type
标头,默认情况下不会出现在curl请求中。