当前位置:  开发笔记 > 前端 > 正文

如何排除Amazon Cloudfront中的URL?

如何解决《如何排除AmazonCloudfront中的URL?》经验,为你挑选了1个好方法。

我计划使用Amazon Cloudfront CDN,并且需要排除一个URL.它是一个动态URL(包含查询字符串).

例如,我想在我的网站上存储/缓存每个页面,除了:

http://www.mypage.com/do-not-cache/?query1=true&query2=5

编辑 - 这是"对象"无效吗?如果是,请提供一个例子.

谢谢



1> Michael - sq..:

冒着帮助您解决错误问题的风险,我应该指出,如果您将CloudFront配置为将查询字符串转发到源服务器,那么响应将针对整个URI缓存 - 即,针对路径+查询 - 字符串 - 不是反对路径,所以...

/dynamic-page?r=1
/dynamic-page?r=2
/dynamic-page?r=2&foo=bar

......就CloudFront而言,将是三个不同的 "页面".除非查询字符串相同,否则它永远不会从缓存中提供请求.

如果将CloudFront配置为将查询字符串转发到源,则CloudFront将在缓存对象时包含URL的查询字符串部分.[...]

即使您的原始始终返回相同的[内容],无论查询字符串如何,都是如此.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html

因此,真正有必要明确地并故意避免在此页面上进行缓存.如果CloudFront配置为转发查询字符串,则应该是自动的正确行为.

此外,当然,如果您的原始服务器Cache-Control: private, no-cache, no-store在响应标头中设置或类似,则CloudFront和浏览器都不应缓存响应.

但是,如果您非常坚持将CloudFront显式配置为不缓存此页面,请创建一个新的缓存行为,路径模式匹配/do-not-cache*,并配置CloudFront将所有请求标头转发到源,这会禁用页面请求的缓存匹配该路径模式.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有