Почему обновление моего проекта Angular 6 на S3 / Cloudfront вызывает ошибки? - PullRequest
0 голосов
/ 21 января 2019

У меня проблема с моим проектом Angular 6, размещенным на корзине S3 с Cloudfront.Каждый раз, когда я обновляюсь, проект кажется потерянным, и меня перенаправляют на страницу, на которой написано: enter image description here Что может быть причиной этого?Когда я обновляюсь на локальном сервере, я просто выхожу из системы и перенаправляем на страницу входа.Я подумал, что это может быть проблемой с моими настройками S3, поэтому я загрузил в проект, который, как я знал, был настроен правильно (у меня был проект Angular 5, в котором не было проблемы обновления).Но произошло то же самое, поэтому кажется, что это что-то внутри моего проекта.

Может ли быть так, как я компилирую файлы?Я использую 'ng build'

Любая помощь приветствуется!Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Это зависит от структуры вашего проекта AWS S3. Я предполагаю, что вы предоставили публичный доступ к файлам (Access Control List) вместе с правильной политикой Bucket и поместили сборку в корневой каталог.

Убедитесь, что в свойствах корзины (статический хостинг сайта) вы добавили index.html для поля документа с ошибкой.

Также обязательно добавьте страницы с ошибками в ваш дистрибутив Cloudfront, создайте 2 пользовательских ответа об ошибках для кодов 403 и 404, которые указывают на ваш index.html и возвращают код ответа 200.

Редактировать: вот ссылка на https://hackernoon.com/hosting-static-react-websites-on-aws-s3-cloudfront-with-ssl-924e5c134455

0 голосов
/ 21 января 2019

В вашей корзине s3 встроенные файлы должны иметь «публичный» доступ

Если вы только что изменили разрешения, репликация изменений в зонах доступности s3 может занять несколько минут, а кэш-память в облачном хранилище прочитает новые разрешения

...