在this article之后,我试图从多个区域提供网站的静态内容。
该文章中的lambda函数正在尝试修改此路径内对象的属性:
event.Records[0].cf.request.origin.s3
在这种情况下,我的lambda函数没有收到这样的属性。相反,我得到了:
event.Records[0].cf.request.origin.custom
很显然,这意味着我在文章期望CustomOriginConfig
的同时收到S3OriginConfig
。我不确定这两个是什么意思,但是“编辑原点”页面的文章中描述的UI与我的完全不同。
文章显示了这一点:
我知道了:
有人可以帮我找到为什么我收到CustomOriginConfig
而不是S3OriginConfig
吗?
答案 0 :(得分:1)
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或“自定义起源”(基于主机名)而变化。