У меня есть поддомен для моего сайта с именем api.example.com, и я хочу, чтобы было достигнуто следующее:
имеет 1 дистрибутив CloudFront для статического веб-сайта S3, сопоставленного с api.example.com
имеют имя настраиваемого домена API-шлюза, сопоставленное с тем же поддоменом api.example.com
Шаги, которые я сделал для достиженияследующие настройки:
Создание настраиваемого домена API-шлюза api.example.com и установка базовых сопоставлений для API, которые я хочу предоставить как v1 (версия 1 на данный момент)
На маршруте 53 я создал запись CNAME api.example.com, указывающую на оптимизированное для Edge целевое доменное имя шлюза API из шага 1
Примечание: в этот момент я получаю, как и ожидалось, ответ 200 от https://api.example.com/v1
Я создал корзину S3 и настроил ее для хостинга статических сайтов.Все файлы успешно загружены и работают.
Я создал новый дистрибутив Cloudfront с источником в корзине S3.На данный момент для этого дистрибутива Cloudfront я не могу установить запись CNAME как api.example.com, поскольку она уже используется первым настраиваемым доменным именем, заданным в шлюзе API, и AWS выдает исключение CNAMEAlreadyExistsException - поэтому я оставляю это поле пустым,Доступ к дистрибутиву CloudFront для корзины S3 работает должным образом.
В дистрибутиве CloudFront, созданном для корзины S3, я добавляю еще один источник (имя пользовательского домена шлюза API) и создаю правило Bevahior.для маршрутизации вызовов v1 / * на имя пользовательского домена API Gateway.
На этом этапе все перестает действовать на свои места: - при доступе к https://api.example.com я получаю{"message": "Fobidden"} из дистрибутива API Gateway.Однако URL https://api.example.com/v1 по-прежнему возвращает ожидаемый результат.
Вопрос : Есть ли что-то, что я пропустил, чтобы установить, чтобы он работал для URL https://api.example.comвернуть содержимое статического веб-сайта S3?
Примечание : также тот факт, что у меня есть пустое поле CNAME в распределении фронта облака S3, в то время как у меня определено CNAMEв Route53, использующем тот же дистрибутив облачного фронта, выдается предупреждающее сообщение о том, что эта ситуация может подвергнуть меня уязвимости.