在 Azure CDN 上部署静态 Vue 应用程序但允许错误页面

Deploy Static Vue App on Azure CDN but allow Error Pages

我在网上搜索过,虽然我找到了类似的文章,但我没能找到这个特定问题的解决方案...这无济于事,因为我不熟悉 Azure 和他们提供的服务(我一般用AWS)。

很简单,我有一个静态 Vue 应用程序,我打算在 Azure CDN 上托管。鉴于网站是静态的,我认为不需要网络服务器,但是,这样做的缺点是我无法控制应用程序的路由。

考虑以下文件夹结构:

public
│   index.html
│   manifest.json
|   ...    
│
└───assets
│   │
│   └───images
│   |   │   ...
|   |
│   └───fonts
|       |   ...
│   
└───js
    ...

index.html 需要控制整个应用程序的所有路由(除了存在的其他文件)。换句话说,无论何时向 CDN 发送请求,我都需要它执行以下操作:

有没有一种方法可以使用纯 Azure CDN 来实现这一点,或者我需要其他服务吗?或者,将我的项目托管在服务器上(通过 Apache/PHP 处理路由),然后仅提供来自 CDN 的静态文件是否会更简单、更快捷?

A​​zure 内容分发网络 (CDN) 旨在更快地发送音频、视频、图像和其他文件。基本上,您无法在 CDN 上托管您的应用程序。在 Azure 上,您可以 select 在存储帐户或 Azure VM 或 Azure 应用服务或云服务上托管您的 Web 应用程序。

对于静态 Web 应用程序,建议 host the static website on the storage account, which has a low cost and you need pay for storing and access data but you have less control of routing your static files. So, you may need to use rules engine with Azure premium CDN. You could refer to this tutorial 使用 Azure CDN 为静态网站启用带 SSL 的自定义域。

如您所知,我认为您也可以考虑在您的服务器或 Azure VM 上托管您的网站,然后通过 Apache/PHP 处理路由。在这种情况下,您可以将 CDN 视为您网站的全局快速入口。您可以为静态内容设置缓存规则。请参阅控件 Azure CDN caching behavior with caching rules and Control Azure CDN caching behavior with query strings

希望对您有所帮助。