我试图设置我们的CDN而不削弱我们的安全性。因此,我们使用来自Azure的高级CDN使用令牌身份验证,这似乎有效,我们能够生成CDN能够解密的加密令牌。
但是,在身份验证之后,我们希望CDN重写URL以包含我们的blob存储的SAS签名。我们已经生成了有效的SAS签名,但我们在设置网址重写规则时遇到了问题。
我们使用以下格式的URL查询CDN:
端点 .azureedge.net / blob路径?加密令牌
据我所知,我们需要使用规则重写URL以应用类似blob的SAS签名:
端点 .azureedge.net / blob路径? SAS签名
这可能非常简单但是我的位置超出了我的舒适区域,CDN规则看起来像一个黑盒子,我不知道什么是错的,我只是得到了403错误。< / p>
希望有人可以提供帮助。
(编辑当前规则的附加屏幕截图)
答案 0 :(得分:0)
您是否看过有关设置的文档:https://docs.microsoft.com/en-us/azure/cdn/cdn-sas-storage-support#option-2-hidden-cdn-security-token-using-rewrite-rule
这是他们的规则:
我认为你只需要用正则规则来玩一点。 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