Угловая маршрутизация не работает с Cloudfront и S3 - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть угловой веб-сайт 6, размещенный на S3 с включенным хостингом веб-сайтов S3.Кроме того, у меня есть дистрибутив CloudFront перед ним.Я настроил фронт облака так, чтобы он перенаправлял все что угодно в index.html и отвечал с 200.

Однако, только CloudFront можно получить только «/».Другие URL, такие как "/ *", не загружаются.Угловые нагрузки "/" это вместо.Как будто angular видит только "/".

Я добавил некоторый код для регистрации URL, переданного в angular, и он всегда оказывается" /".

Кроме того, в некоторых других случаях "/* "URL даже не загружаются" / ", и я вижу эту ошибку на консоли" Uncaught SyntaxError: Unnexpected token <". </p>

Ребята, вы хоть представляете, что может быть причиной этого?

Настройки S3 enter image description here

Поведение фронта облака:

enter image description here

enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 17 июля 2019

В моем случае это можно решить, добавив index.html в качестве «документа об ошибке» в разделе «статический хостинг веб-сайтов».Ничего другого.

0 голосов
/ 12 февраля 2019

Посмотрите: как развернуть реактивные и угловые приложения на S3 / Cloudfront

Создано ли пользовательское поведение для ответов 403 (запрещено) и 404 (не найдено)?

Каждый раз, когда кто-то делает запрос на ваш сайт, например, www.yourwebsite.com/routeuri, обратите внимание, что этот URI routeuri не существует в вашемORIGIN (это S3 BUCKET), поэтому ваш источник (S3 BUCKET) вернет 403 ответа (запрещено).Таким образом, вы также должны добавить пользовательский ответ об ошибке для кода состояния 403, как показано на рисунке ниже:

enter image description here

Пожалуйста, убедитесь, что вы также добавили index.html в качестве корневого объекта по умолчанию в обоих облачных фронтах и S3 Bucket , как показано на изображениях ниже:

Cloudfront root object s3 bucket

Я действительно рекомендую прочитать официальную документацию, чтобы понять, как CloudFront связан с источником.

...