首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于SAS令牌缓存机制的Azure CDN

基于SAS令牌缓存机制的Azure CDN
EN

Stack Overflow用户
提问于 2020-12-07 21:24:47
回答 2查看 767关注 0票数 0

我有一个blob容器有限制的公共访问。Azure CDN就建立在上面。请找到下面的例子

缓存时间: 24小时

Azure存储网址:http://azstorage5.blob.core.windows.net/images/img15.jpg

CDN端点:http://az507925.vo.msecnd.net/

Azure存储SAS参数:?st=2020-12-07T19%3A21%3A09Z&se=2020-12-08T20%3A21%3A09Z&sr=c&sp=r&sig=STTE1p0ujzZr31ZjPaOlNoImCPcjss2GoRsOWDlpJuI%3D

最终CDN网址:http://az507925.vo.msecnd.net/images/img1.jpg?st=2020-12-07T19%3A21%3A09Z&se=2020-12-08T20%3A21%3A09Z&sr=c&sp=r&sig=STTE1p0ujzZr31ZjPaOlNoImCPcjss2GoRsOWDlpJuI%3D

如果我在CDN中将缓存行为设置为忽略查询字符串

问题:首次尝试访问图像img15.jpg时,将从blob容器中检索并缓存在CDN中。如果我在缓存过期(24小时)内使用不同的有效SAS令牌多次访问img15.jpg,那么它是从缓存中得到服务,还是为每个唯一有效的SAS令牌从blob容器中获取?

的最终目标:--我希望这个映像被缓存在CDN上,并且应该能够使用有效的SAS访问它,但只要缓存没有过期,就不会击中blob容器。这是一个可能的用例场景吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-08 09:26:10

对于您的问题,如果对同一个blob使用不同的有效SAS令牌(如blob1),则将首次从blob容器直接获取具有不同SAS的blob1。

例如,首先使用blob 1?sastoken1 1进行访问,然后使用blob 1?sastoken1 2进行访问,此时,blob 1?sastoken1 2将直接从blob容器中获取。

我建议您可以使用同样的sastoken,或者您可以定义一个存储访问策略来访问blob。

票数 0
EN

Stack Overflow用户

发布于 2022-02-23 16:41:36

如果您将CDN配置为缓存每个sas字符串,则预期不会缓存文件,因为对于CDN,它们是不同的文件。

如果您配置为忽略sas字符串,这将导致未经身份验证的用户获得对缓存文件的访问(只是省略参数,或者在那里粘贴垃圾)。

这里的解决方案是正确地构造sas字符串。

您可以为文件提供相同的参数,以完成今天的所有客户端:今天访问开始时间00:00,第二天结束时间。

这将使今天所有请求文件的客户端都有缓存副本,并提前一天完成下载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65189636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档