我在使用CDN进行Azure存储缓存时遇到问题。我已经设置了存储空间,在其上添加了CDN,并放置了自定义域名。
一切正常,直到最近,当我上传的一张图片被卡在CDN上时。当我在没有CDN的情况下进入它时,一切正常,但在CDN上,它总是显示旧图像。我尝试了一切,我把自定义缓存过期,我删除,我移动它......但没有任何作用。我等了一天,也许会自动修复Auzura,或者某些缓存会到期,但什么都没有。
以前有人有过类似的问题吗?如何解决?
同一容器中的所有其他图像(blob)工作正常。
答案 0 :(得分:4)
在规划CDN使用时,您必须非常小心。启用CDN时,您必须完全控制将通过CDB提供的所有Blob文件。
明确指出在Put Blob,Put Block List或Set Blob Properties请求上设置x-ms-blob-cache-control
属性,或使用Azure托管库设置{{3属性。
如果您忘记设置此属性before
该文件已由CDN访问,则CDN假定7天为TTL(该文件的生存时间)。设置的任何后续更改(blob的缓存控制属性)将在TTL过去7天后才会生效。我相信你不小心进入了这个默认的7天TTL(希望它不是最糟糕的 - 错误设置缓存 - 过期标题的时间更长)
您可以在BlobProperties.CacheControl上阅读更多内容。我热烈地请你在best practices for controlling CDN content here给你3票。