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

use*_*225 6 routing azure-storage-blobs edgecast azure-cdn angular

对于我的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

https://xxyz.com/dashboard

https://xxyz.com/application

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

我使用的是Verizon Premium Edgecast CDN,因此我可以进行URL重写,但是我写的规则到目前为止还没有成功.

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

以下是我尝试为edgecast/Azure进行URL重写的当前方法: 在此输入图像描述

然后,下面的图片中显示"始终"的下拉选项:

IF选项:

总是

作为号码

CDN Origin

客户端IP地址

Cookie参数

客户来源

Edge Cname

引用域名

请求标题文字

请求标头正则表达式

请求方法

请求方案

网址路径目录

网址路径扩展

网址路径文件名

Url Path Literal

Url Path Regex

网址路径通配符

Url Query Literal

网址查询正则表达式

网址查询通配符

小智 0

您可以将“部署”的“原始路径”设置为删除 CDN url 中需要的“/deploy/”路径。

原始路径 天蓝色

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

添加原始路径后,重写规则应如下所示。规则 1:如果始终:功能:URL 重写;来源:“登录”;目标:“index.html”(从下拉列表中选择与您的端点名称匹配的目标)。