Как настроить CloudFront, чтобы иметь настраиваемую страницу ошибок для каждого источника - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь развернуть Angular Application на AWS, используя S3 и Cloudfront. Наше приложение Angular взаимодействует с приложением Spring, которое служит нашим внутренним приложением и находится в экземпляре EC2. Я уже настроил наш CloudFront для перенаправления /api запросов на наш бэкэнд, а все остальное на внешний интерфейс. Прямо сейчас я настроил пользовательский ответ об ошибке Cloudfront для 403 и 404, чтобы он возвращал наш angular index.html. Проблема в том, что , когда наш пользовательский интерфейс пытается отправить и вызвать API для нашего бэкэнда и возвращает 404 с действительным ответом json вместо получения json. Мы получаем файл index.html.

Я пытаюсь добиться того, чтобы, если пользователь обращается к http://somedomain.com/invalid-path,, он обслуживался с index.html, но если он пытается API вызвать http://somedomian.com/api/v1/invalid-path, он должен получить ответ сервер возвращается.

1 Ответ

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

Вы можете создать лямбда-функцию ассоциации типа события Origin response для изменения кода состояния и содержимого тела. Вы захотите добавить это в CloudFront behaviors, используемом для вашего интерфейсного приложения. Здесь является примером.

Вы можете добавить 302 заголовок и перенаправить в местоположение (поведение кэша) для страницы статической ошибки, или вы можете прикрепить содержимое к response.body и изменить код состояния на 200.

Подробнее о Lambda @ Edge

...