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

时间:2017-05-30 18:10:25

标签: angular routing azure-storage-blobs azure-cdn edgecast

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

ng build --base-href /deploy/ --prod

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

本地主机:4200 /仪表板

本地主机:4200 /应用

这很有效。

然后我做了:

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

然后将文件从本地计算机上的 dist 文件夹复制到Azure Blob存储。我必须有一个文件的blob容器,该容器名为 deploy 。我最终得到了类似的东西:

https://xxyz.blob.core.windows.net/deploy/favicon.ico

等。等我可以去:

{{1}}

并查看favicon

然后,在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

https://xxyz.com/dashboard

https://xxyz.com/application

https://xxyz.com/应重定向到登录页面

我正在使用Verizon Premium Edgecast CDN,所以我能够进行URL重写,但我写的规则到目前为止还没有用。

我是否错过了Angular方面的任何内容? Azure CDN或Edgecast的URL重写规则的任何想法?

以下是我尝试对edgecast / Azure进行URL重写的当前方法: enter image description here

然后,下拉菜单中的选项显示'始终'在上图中:

IF选项:

始终

作为数字

CDN Origin

客户端IP地址

Cookie参数

客户来源

Edge Cname

推荐域名

请求标题文字

请求标头正则表达式

请求方法

请求方案

网址路径目录

网址路径扩展

网址路径文件名

Url Path Literal

Url Path Regex

Url Path Wildcard

Url Query Literal

网址查询正则表达式

网址查询通配符

1 个答案:

答案 0 :(得分:0)

您可以设置" Origin路径"部署'为了删除' / deploy /' CDN网址中需要的路径。

origin path azure

规则引擎最多可能需要90分钟才能开始工作。确保你在尝试之前等待足够长的时间。

添加Origin Path后,重写规则应该如下所示。 规则1: 如果总是: 功能:URL重写;来源:'登录&#39 ;;目的地:' index.html' (从下拉列表中选择与您的端点名称匹配的那个)。