标签: azure-cdn

如何使用edgecast Azure CDN修复Angular 2应用程序的路由?

对于我的Angular应用程序,这里是app.routing.ts文件:

const appRoutes: Routes = [
    { path: '', component: LoginComponent },
    { path: 'dashboard', component: DashboardComponent },
    { path: 'application', component: ApplicationComponent },
    { path: 'decision', component: DecisionComponent },
];

export const routing = RouterModule.forRoot(appRoutes);
Run Code Online (Sandbox Code Playgroud)

所以在我的本地计算机上,当我进行服务时,我可以转到浏览器中的地址栏并键入以下地址:

本地主机:4200 /仪表板

本地主机:4200 /应用

这很有效.

然后我做:

ng build --base-href /deploy/ --prod
Run Code Online (Sandbox Code Playgroud)

然后将文件从本地计算机上的dist文件夹复制到Azure Blob存储.我必须有一个文件的blob容器,该容器称为deploy.我最终得到的结果如下:

https://xxyz.blob.core.windows.net/deploy/favicon.ico
https://xxyz.blob.core.windows.net/deploy/index.html
https://xxyz.blob.core.windows.net/deploy/assets/Logo.svg
https://xxyz.blob.core.windows.net/deploy/main.68dbes8ef20.bundle.js
https://xxyz.blob.core.windows.net/deploy/styles.a2b9daa6d36.bundle.css
Run Code Online (Sandbox Code Playgroud)

我等可以去:

https://xxyz.blob.core.windows.net/deploy/favicon.ico
Run Code Online (Sandbox Code Playgroud)

并看到图标

然后,在Verizon Edgecast CDN上,我可以去:

https://xxyz.com/deploy/index.html启动我的应用并登录.

但我不想在CDN上访问https://xxyz.com/deploy/index.html进行登录.

我想去

https://xxyz.com/login 并登录

另外,我不能去CDN上的这些地方:

https://xxyz.com/deploy/dashboard

https://xxyz.com/deploy/application

我真正想要的是能够从CDN做到这一点:

https://xxyz.com/login …

routing azure-storage-blobs edgecast azure-cdn angular

6
推荐指数
1
解决办法
660
查看次数

限制Azure中的用户下载

我有存储在Azure的blob存储中的文件.最终用户将通过Internet下载这些文件.注册用户将能够通过CDN高速下载它们,而我希望非注册用户限制其下载.

我如何在Azure中执行此操作?

azure azure-storage azure-cdn

5
推荐指数
1
解决办法
191
查看次数

静态托管 - 使用 Azure CDN 的 Azure Blob 存储上的 ReactJS 应用程序

我想将我的ReactJS 应用程序作为静态托管在 Azure Blob 上。问题是 Azure Blob 不支持默认文档。为了克服这个问题,我设置了带有 URL 重写规则的 Azure CDN

  • 对于第一个源模式,设置为((?:[^\?]*/)?)($|\?.*)
  • 对于第一个目标模式,设置为$1index.html$2
  • 对于第二个源模式,设置为 ((?:[^\?]*/)?[^\?/.]+)($|\?.*)
  • 对于第二个目标模式,设置为$1/index.html$2

这是来自Hao的教程

这成功解决了myapp.azureedge.net,但是当直接使用客户端路由时,例如myapp.azureedge.net\react\route应用程序将返回ResourceNotFound.

这意味着当用户输入myapp.azureedge.net\react\routeURL 并尝试导航到该页面时,他会收到错误消息。

我怀疑我需要将每个路径(不是静态特定文件)重定向到index.html. 但是,我不知道这是否是正确的解决方案或如何实现它

感谢您的任何帮助!

blob azure azure-cdn reactjs azure-blob-storage

5
推荐指数
1
解决办法
6962
查看次数

如何获取azure blob中文件的azure cdn链接?

我有 Azure Blob 并为它添加了 Azure CDN。

如何获取到cdn的链接以上传到blob文件?

var storageAccount = CloudStorageAccount.Parse(configuration.ConnectionString);
var client = storageAccount.CreateCloudBlobClient();
var container = client.GetContainerReference("container");

CloudBlobContainer container = await _containerFactory.CreateAsync("files", cancellationToken);
var blockBlob = container.GetBlockBlobReference("file-name.png");

await blockBlob.UploadFromStreamAsync(fileStream, cancellationToken);

return blockBlob.Uri; // return blob blob url
Run Code Online (Sandbox Code Playgroud)

blockBlob.Uri 返回 blob url,但我需要 CDN uri?

是否可以基于c#代码获取CDN uri?无需将 uri 的一部分替换为 cdn 端点。

c# azure azure-cdn azure-blob-storage

5
推荐指数
1
解决办法
842
查看次数

如何在 Azure CDN 中重定向到 HTTPS

我想使用 Azure 存储和 Azure CDN 中的静态网站提供 PWA 服务。我需要将每个 HTTP 请求重定向到 HTTPS。我按照官方文档,等了4个多小时,还是不行。我是否需要自定义域才能使规则发挥作用?

当 SCHEMA = HTTP URL 重定向 (301) 源:(.*) 目标:https://% {host}/$1

https redirect azure-cdn

5
推荐指数
1
解决办法
1571
查看次数

如何通过 ARM 模板在 Azure CDN 的 CustomDomain 中启用 HTTPS

我已经通过 CI/CD 从 Azure DevOps 的 ARM 模板创建了 Azure CDN,遵循以下参考 -

https://github.com/Azure/azure-quickstart-templates/tree/master/201-cdn-with-storage-account

https://docs.microsoft.com/en-us/azure/templates/microsoft.cdn/2019-04-15/profiles/endpoints/customdomains

Azure CDN 创建并映射了带有终结点的自定义域。但不确定如何通过 ARM(来自 Azure DevOps)模板在自定义域中启用 HTTPS(KeyVault 中可用的我自己的证书),MS 模板参考中的选项不可用。

想要自动化 Azure CDN 的整个创建。

有没有办法为 CustomDomain 彻底的 DevOps 启用 HTTPS?

这是我的脚本(不是最终的)-

#Enable Https in Custom Domain - Azure CDN

$cdnProfileName ='debtestcdnprofile'
$cdnEndpointName = 'debtestcdnendpoint'
$cdnCustomDomainName = 'mysubdomain-mydomain-com' # testing 
$keyVaultName = 'debkeyvault'
$certificateName = 'debasiscert'
$apiVersion = '2019-04-15'

$secretVersion = 'XXXXXXXXXXX'
$secretName = 'debasiscert'
$keyVaultResourceGroupName = 'rsgStgCDN'

$cdnProfile = Get-AzCdnProfile -ProfileName $cdnProfileName;
$resourceGroup = Get-AzResourceGroup -Name $cdnProfile.ResourceGroupName;
$resourceGroupName …
Run Code Online (Sandbox Code Playgroud)

azure-cdn azure-resource-manager azure-devops

5
推荐指数
1
解决办法
1354
查看次数

为 Azure CDN 创建服务主体失败,出现租户权限错误

我正在尝试将 Azure CDN 添加为服务帐户,以便将其连接到 KeyVault。
遵循官方指南和其他建议,例如无法将 Microsoft.Azure.Cdn 服务主体添加到 Key Vault 访问策略

但是这个命令:

New-AzureRmADServicePrincipal -ApplicationId "205478c0-bd83-4e1b-a9d6-db63a3e1e1c8"
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

New-AzureRmADServicePrincipal :使用此权限时,正在创建的服务主体的后备应用程序必须在本地租户中。

即使在我使用Set-AzureRmContext -TenantId xxx.
任何帮助表示赞赏!

azure azure-cdn azure-active-directory

5
推荐指数
1
解决办法
4398
查看次数

用于存储静态网站子目录的 Azure CDN 高级 Verizon 规则引擎 V4 URL 重写

我正在尝试主持一个Angular项目Azure Storage Static Website Azure CDN Verizon Premium

假设我为每个Angular构建都有名为类似的容器v0.3.13.3,并且在该容器中还有角度项目的多语言构建。

我想要实现的是index.html为每个版本和语言提供正确的路由。

您可能会在下面找到示例路线:

my.domain.com/v0.3.13.3应该服务/v0.3.13.3/index.html
my.domain.com/v0.3.13.3/dashboard应该服务/v0.3.13.3/index.html
my.domain.com/v0.3.13.3/fr应该服务/v0.3.13.3/fr/index.html
my.domain.com/v0.3.13.3/fr/dashboard应该服务/v0.3.13.3/fr/index.html

我已经成功地做到了,Azure Standard Rules Engine 如下面的屏幕截图所示。

在此输入图像描述

但据我从文档中看到,在标准规则引擎Contains字段中不能用正则表达式填充。我已经在谷歌上进行了挖掘,但似乎找不到任何适合我的解决方案。

因此,我已将 CDN 服务切换为 Verizon Premium 并尝试应用于(v(?:(\d+)\.)?(?:(\d+)\.)?(?:(\d+)\.\d+))路径正则表达式。

我在使用 Verizon Premium 时遇到的主要问题是,只有URL Rewrite在我将 IF 字段声明为Always

在此输入图像描述

如您所见,URL Rewrite未列出。

我还使用声明进行了几次部署Always ,但没有任何好处。

每个人在博客中分享的唯一示例

在此输入图像描述

所以上面的例子不包括文件扩展名和子路由。

有什么方法可以实现我的目标吗?

提前致谢。

azure-cdn azure-blob-storage verizon

5
推荐指数
1
解决办法
2125
查看次数

Azure静态网站:正在访问的帐户不支持http

我使用Azure 存储帐户的静态网站功能来托管 React.js 应用程序。该站点还启用了 CDN 端点(Microsoft 标准 CDN 定价层),因此站点 URL 类似于https://xxx.azureedge.net/。问题:当我尝试通过 HTTP 协议访问该网站时,它显示:

The account being accessed does not support http.
HttpStatusCode: 400
ErrorCode: AccountRequiresHttps
RequestId : 46959fc9-a01e-006d-2bc5-6b781e000000
TimeStamp : 2020-08-06T07:48:01.6590412Z
Run Code Online (Sandbox Code Playgroud)

我希望将用户重定向到 HTTPS 版本。

azure azure-storage azure-cdn azure-web-app-service

5
推荐指数
2
解决办法
6697
查看次数

具有存储帐户专用终结点的 Azure CDN

我们有 VAPT 调查结果,可以将存储帐户添加到专用终结点。

Azure CDN 使用存储帐户作为源。

添加终结点后,Azure CDN 无法访问并给出 XML 页面错误。

如何从 Azure CDN 使用专用终结点访问存储帐户?

azure azure-storage azure-cdn

5
推荐指数
1
解决办法
3928
查看次数