Разверните приложение Static Vue в Azure CDN, но разрешите страницы ошибок

Я искал в Интернете, и хотя я нашел похожие статьи, я не смог найти решение этой конкретной проблемы... Этому не помогает тот факт, что я не знаком с Azure и предоставляемыми ими услугами ( Я обычно использую AWS).

Проще говоря, у меня есть статическое приложение Vue, которое я собираюсь разместить в Azure CDN. Учитывая, что сайт статичен, я не вижу необходимости в веб-сервере, однако недостатком этого является то, что у меня нет возможности контролировать маршрутизацию приложения.

Рассмотрим следующую структуру папок:

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

index.html необходимо контролировать всю маршрутизацию в приложении (помимо других существующих файлов). Другими словами, всякий раз, когда запрос отправляется в CDN, мне нужно, чтобы он делал следующее:

  • Если файл существует, верните его, например. example.com/assets/images/foo.png
  • Если файл не существует, верните index.html и позвольте Vue обработать страницу с ошибкой.

Есть ли способ добиться этого, используя только Azure CDN, или мне нужна другая служба? Или было бы намного проще и быстрее разместить мой проект на сервере (обработать маршрутизацию через Apache/PHP), а затем обслуживать только статические файлы из CDN?

🤔 А знаете ли вы, что...
Vue.js разработан и поддерживается Еваном Ю, китайским разработчиком.


799
1

Ответ:

Решено

Сеть доставки содержимого Azure (CDN) предназначена для более быстрой отправки аудио, видео, изображений и других файлов. По сути, вы не можете разместить свое приложение в CDN. В Azure вы можете разместить свое веб-приложение в учетной записи хранения, на виртуальной машине Azure, в службе приложений Azure или в облачной службе.

Для статического веб-приложения рекомендуется разместить статический веб-сайт в учетной записи хранения, который имеет низкую стоимость, и вам нужно платить за хранение и доступ к данным, но у вас меньше контроля над маршрутизацией ваших статических файлов. Таким образом, вам может понадобиться использовать двигатель правил с CDN Azure премиум-класса. Вы можете обратиться к этому руководство, чтобы использовать Azure CDN для включения личного домена с SSL для статического веб-сайта.

Как вы знаете, я думаю, вы также можете рассмотреть возможность размещения своего веб-сайта на своем сервере или виртуальной машине Azure, а затем обрабатывать маршрутизацию через Apache/PHP. В этом случае вы можете рассматривать CDN как глобальный более быстрый доступ к вашему веб-сайту. Вы можете установить правила кеша для статического содержимого. см. Управление Поведение кэширования Azure CDN с правилами кэширования и Управление поведением кэширования Azure CDN с помощью строк запроса.

Надеюсь, это поможет вам.