我想使用azure blob和CDN 高级功能,但文档非常稀疏.这在Amazon S3/CloudFront上完全可行.
为清楚起见,我想*.azureedge.net/sample/index.html等于*.azureedge.net/sample/和*.azureedge.net/sample/test.html等于*.azureedge.net/sample/test
这是完全不明确的,预计更改需要"长达4个小时",所以......
经过一番调查,Azure有一个Verizon Edgecast CDN的包装器,这个页面看起来与他们的相同......
对于我的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进行登录.
我想去
另外,我不能去CDN上的这些地方:
https://xxyz.com/deploy/dashboard
https://xxyz.com/deploy/application
我真正想要的是能够从CDN做到这一点: