Как правильно сопоставить конечную точку Azure CDN с Angular 7 Project в контейнере хранилища больших двоичных объектов - PullRequest
0 голосов
/ 24 апреля 2019

Я пытался создать конечную точку Azure CDN для хранения BLOB-контейнера для проекта Angular 7.

Выполнены следующие шаги.

  1. Создан стандарт, хранилище BLOB-объектов HOT LRS.
  2. Под созданным BLOB-объектом создан контейнер с доступом к анонимному доступу для чтения BLOB-объектов.
  3. Загружен dist / * в контейнер.

  4. Создан профиль CDN со стандартным Verizon

  5. Создана конечная точка с исходным именем хоста, для которого задана точка 1 выше, и путь к оригинальному контейнеру BLOB-объекта.

Теперь, мое имя конечной точки выглядит https://<myendpoint>.azureedge.net

При переходе по этой ссылке из браузера ничего не отображается по умолчанию в формате XML.Когда я перехожу к https://<myendpoint>.azureedge.net/<blobcontainer>/index.html, страница указателя отображается, но заканчивается на net::ERR_ABORTED 404

Она пытается загрузить вспомогательные файлы, такие как styles.hash.css, runtime.hash.js и т. Д., По пути https://<myendpoint>.azureedge.net/, а не по пути https://<myendpoint>.azureedge.net/<blobcontainer>/, чтобыэти файлы не существуют, я получаю эту ошибку.

Как правильно сопоставить конечную точку Azure CDN с проектом Angular 7 в контейнере хранилища больших двоичных объектов?

Что я пробовал?

  1. Я удалил orginpath на свои конечные точки
  2. Доступ к контейнеру BLOB-объекта для анонимных объектов для BLOB-объектов и контейнеров
  3. Я сделал purgeall несколько раз

Обновление:То же самое работает в IIS виртуальной машины Azure на порте XX и в виртуальном каталоге E: \ XX

Вот мой dist / index.html, сгенерированный angular cli.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Angular</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.min.js"> </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/2.3.5/jspdf.plugin.autotable.min.js"></script>
<!-- Other CDN content -->

<link rel="stylesheet" href="styles.d53c073df9bdc9d8dc56.css"></head>
<body>
  <app-root> </app-root>
<script type="text/javascript" src="runtime.e34dbbfe0677512b179e.js"></script>
<script type="text/javascript" src="polyfills.24a4835bc4e54cff0563.js">
</script><script type="text/javascript" src="main.3d2c3408bf112b226574.js"></script>
</body>
</html>

Также много блоговПредлагаем включить статический веб-сайт в учетной записи хранилища BLOB-объектов, но я не нашел такой возможности в Портале Azure -> Учетная запись хранилища -> Blob или в Blob -> Контейнер.

1 Ответ

0 голосов
/ 06 мая 2019

Просто сузьте комментарий как ответ на этот вопрос для получения дополнительных ссылок.

Хранилище Azure Учетные записи общего назначения v2 позволяют обслуживать статический контент (HTML, CSS, JavaScript и файлы изображений) непосредственно из контейнера для хранения с именем $web. Вы можете обновить свою текущую учетную запись хранения до V2, следуя Settings--->Configuration--->upgrade на портале Azure, затем вы можете увидеть параметр Static website в Настройках учетной записи хранения.

Затем загрузите свои активы в контейнер $web через портал Azure.

Чтобы настроить конечную точку CDN для этого статического веб-сайта, кроме параметра storage , вы также можете выбрать custom origin в качестве origin type. Если это так, вы можете поместить имя хоста основной конечной точки, например storageaccount.z19.web.core.windows.net, на статический веб-сайт как origin hostname.

Для получения дополнительной информации: Статический хостинг веб-сайтов в хранилище Azure

...