Azure CDN URL重写规则,带有令牌身份验证和Blob存储SAS

时间:2018-03-09 15:13:58

标签: azure azure-storage-blobs azure-cdn

我试图设置我们的CDN而不削弱我们的安全性。因此,我们使用来自Azure的高级CDN使用令牌身份验证,这似乎有效,我们能够生成CDN能够解密的加密令牌。

但是,在身份验证之后,我们希望CDN重写URL以包含我们的blob存储的SAS签名。我们已经生成了有效的SAS签名,但我们在设置网址重写规则时遇到了问题。

我们使用以下格式的URL查询CDN:

端点 .azureedge.net / blob路径加密令牌

据我所知,我们需要使用规则重写URL以应用类似blob的SAS签名:

端点 .azureedge.net / blob路径 SAS签名

这可能非常简单但是我的位置超出了我的舒适区域,CDN规则看起来像一个黑盒子,我不知道什么是错的,我只是得到了403错误。< / p>

希望有人可以提供帮助。

(编辑当前规则的附加屏幕截图)

enter image description here

2 个答案:

答案 0 :(得分:0)

您是否看过有关设置的文档:https://docs.microsoft.com/en-us/azure/cdn/cdn-sas-storage-support#option-2-hidden-cdn-security-token-using-rewrite-rule
这是他们的规则:
enter image description here

我认为你只需要用正则规则来玩一点。 Azure CDN使用Perl兼容的正则表达式:http://pcre.org/。您可以使用此工具进行测试:https://regex101.com/

我确实找到了与表达方式相关的论坛帖子,他们希望找到解决方案:https://social.msdn.microsoft.com/Forums/azure/en-US/0c26c276-163c-428c-a53d-eac998291755/verizon-cdn-premium-sas-blob-storage-rewrite?forum=azurecdn

答案 1 :(得分:0)

目标应为:$ 1?sv =

别忘了 $ 1 ,它代表来源中的第一个值

文档:https://docs.microsoft.com/en-us/azure/cdn/cdn-rules-engine-reference-features#url-rewrite