为什么我得到了CustomOriginConfig而不是S3OriginConfig?

时间:2019-01-08 18:37:34

标签: amazon-web-services amazon-cloudfront

this article之后,我试图从多个区域提供网站的静态内容。

该文章中的lambda函数正在尝试修改此路径内对象的属性:

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

在这种情况下,我的lambda函数没有收到这样的属性。相反,我得到了:

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

很显然,这意味着我在文章期望CustomOriginConfig的同时收到S3OriginConfig。我不确定这两个是什么意思,但是“编辑原点”页面的文章中描述的UI与我的完全不同。

文章显示了这一点:

enter image description here

我知道了:

enter image description here

有人可以帮我找到为什么我收到CustomOriginConfig而不是S3OriginConfig吗?

1 个答案:

答案 0 :(得分:1)

如果源域名称是存储桶的REST端点,则

CloudFront仅将源视为 S3源${bucketname}.s3.amazonaws.com。此配置支持使用Origin Access Identity在CloudFront背面对请求进行身份验证。

如果您使用的是S3的网站托管功能(索引和错误文档和/或重定向),则可以使用存储桶的网站托管端点,例如${bucketname}.s3-website.${region}.amazonaws.com。实际上,CloudFront将此配置视为自定义来源,就像您将任何(非S3)Web服务用作来源服务器一样。 Origin Access Identity和S3网站端点彼此不兼容。

控制台选项会根据控制台是否看到您正在创建S3或“自定义起源”(基于主机名)而变化。

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