我希望能够仅使用Azure前门/而不使用Azure CDN服务SPA。看起来前门提供了CDN所提供的缓存,我可以向其中添加多个区域存储帐户,从而使其在全球范围内具有规模。
问题是,我无法将路径匹配到index.html
文件。发现this feedback,看起来可以使用URL重写和重定向来解决,但不知道如何解决。
我有/test/
和/test
与下面的路由匹配,因此它应该与/ test匹配,并将请求指向/test/index.html
,但这是行不通的。我们不能做基于文件的转发吗?
答案 0 :(得分:1)
这花了一些时间才能弄清楚,但这是解决方案。
要托管SPA,您将需要Azure中的Blob存储帐户,并且应将这些存储帐户配置为接收静态网页流量。导航至设置,然后导航至Blob存储设置中的静态网站。
要在此处添加内容-再次导航至Blob存储,您应该看到一个名为$web
的容器。
现在$web
容器是您应该将所有静态文件放入的容器,只需确保它是可公开访问的(取决于您创建它的方式,就可能不是)
有关如何使用Blob存储创建静态网站的更多文档,请参见:https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website
一旦启用了静态网站并单击静态网站刀片,它将为您提供与常规Blob访问终结点不同的终结点-支持静态网站的终结点。类似于:https://somerandomstorageaccount.z8.web.core.windows.net/
导航至前门设计师
导航到您的后端池,如果没有任何内容,则添加一个新条目。
现在,您应该将此新网站终结点作为后端添加到Azure前门。下面的图片是更新配置,但添加同样简单,只需将其添加为Custom Host
后端类型,然后将其指向您的Blob静态网站位置即可。
要获得更好的性能,请使用多个存储帐户(来自不同区域),并将所有这些帐户添加到Front Door配置中的后端,然后打开Front Door中的缓存。