我使用AWS CDN为HTTP请求提供服务。我的用例是,我希望在浏览器和CDN上缓存响应,而不是在中间代理中。
通过设置:
Default TTL: 21600
在CDN分布缓存行为中,CDN缓存6小时
和设置
Cache-Control: Private, max-age=21600
在原始版本中,使响应可以在浏览器中缓存6小时。
现在我有了一个额外的场景,我想在CDN和浏览器中有选择地缓存文件。我尝试了设置Minimum TTL : 0
,这样原点设置的缓存控制头部在CDN上生效。但由于我不希望它被中间代理缓存,所以我必须添加私有缓存控制,这使得它在CDN中不可缓存。
有什么方法可以实现这个用例吗?谢谢。
发布于 2015-10-17 06:32:40
您看过s-maxage
缓存控制标头了吗?
从理论上讲,您应该能够设置此值来指定中间缓存持续时间,同时通过设置适当的最小s-maxage
值在CloudFront中覆盖它(如果此值大于TTL值,CloudFront将使用此值而不是s-maxage
值)。
您可以在s-maxage
旁边使用maxage
值来设置终端客户端缓存持续时间。
https://stackoverflow.com/questions/33014295
复制相似问题