Azure CDN URL使用令牌身份验证和Blob存储SAS重写规则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure CDN URL使用令牌身份验证和Blob存储SAS重写规则相关的知识,希望对你有一定的参考价值。

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

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

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

endpoint.azureedge.net/blob path?加密令牌

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

你在空中

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

希望有人能提供帮助。

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

enter image description here

答案

您是否看过有关设置此文档的文档: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?sv =

不要忘记$ 1,它表示源中的第一个值

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

以上是关于Azure CDN URL使用令牌身份验证和Blob存储SAS重写规则的主要内容,如果未能解决你的问题,请参考以下文章

401 使用 Azure AD 在 .NET Core 3.1 中仅使用不记名令牌进行身份验证

使用 ASP.NET 标识和 JWT 令牌的 Azure 函数身份验证

如何使用身份服务器 3 和 microsoft 团队应用程序使用 Azure AD 令牌进行身份验证

对来自多个来源(例如 Cognito 和 Azure)的令牌进行身份验证

请求 Azure 应用服务身份验证刷新令牌

如何使用 Azure AD 对 VueJS 应用程序进行身份验证?