CloudFront 通常会错过来自浏览器的消息,而命中来自 cURL 的消息

CloudFront 通常会错过来自浏览器的消息,而命中来自 cURL 的消息

当我在浏览器中加载 HTML 页面时,所有对资源的请求都有x-cache: Miss from cloudfront。如果我重新加载浏览器非常很快,有时我可以得到一个Hit

如果我打开我的开发人员工具并“将请求复制为 curl”,那么无论我执行请求的速度有多快或多慢,我都能可靠地获得成功。

为什么不同的用户代理发出完全相同的请求会成功或失败?

答案1

您可能正在 Cloudfront 上转发 cookie。

因此,每次您在浏览器中刷新页面时,浏览器都会创建一个新的 cookie 哈希,并且 CDN 会认为这是一个新请求。

您必须关闭 Cloudfront 的 cookie 转发。

要在 CURL 中复制此行为,请尝试使用不同的 cookie 发送请求,您会发现它变慢了。

相关内容