Почему я получаю CustomOriginConfig вместо S3OriginConfig? - PullRequest
0 голосов
/ 08 января 2019

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

Лямбда-функция в этой статье пытается изменить свойство объекта в этом пути:

event.Records[0].cf.request.origin.s3

Это в том случае, если моя лямбда-функция не получает такого свойства. Вместо этого я получаю:

event.Records[0].cf.request.origin.custom

Очевидно, это означает, что я получаю CustomOriginConfig, в то время как статья ожидает S3OriginConfig. Я не уверен, что означают эти два, но пользовательский интерфейс, изображенный в статье для страницы «Редактировать происхождение», полностью отличается от моего.

Статья показывает это:

enter image description here

И у меня есть это:

enter image description here

Может кто-нибудь помочь мне выяснить, почему я получаю CustomOriginConfig вместо S3OriginConfig?

1 Ответ

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

CloudFront рассматривает источник только как S3 Origin , если имя домена источника является конечной точкой REST для сегмента - например, ${bucketname}.s3.amazonaws.com. Это конфигурация, которая поддерживает аутентификацию запросов на задней стороне CloudFront с использованием Origin Access Identity.

Если вы используете функции хостинга веб-сайта S3 (документы индекса и ошибок и / или перенаправления), то вы используете конечную точку хостинга веб-сайта для корзины, например, ${bucketname}.s3-website.${region}.amazonaws.com. CloudFront фактически обрабатывает эту конфигурацию как Custom Origin , так же, как если бы вы использовали какой-либо (не S3) веб-сервис в качестве исходного сервера. Origin Access Identity и конечные точки веб-сайта S3 несовместимы друг с другом.

Параметры консоли изменяются в зависимости от того, видит ли консоль, что вы создаете S3 или Custom Origin (на основе имени хоста).

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html

...