我使用Lambda函数在tutorial即时请求时调整图像大小 .
一般流程如下:
-
存储资源的存储区(将其称为
mybucket
,名称已更改)配置为用作网站 . -
在未找到请求的资源时配置重定向规则 . 此规则重定向到触发Lambda函数的API网关
使用 endpoints URL直接访问存储桶时,一切正常 . 此 endpoints URL是:
http://mybucket.s3-website.eu-central-1.amazonaws.com
但是,当我们现在通过CloudFront分配URL访问资源时,重定向不起作用 . CloudFront分配已正确设置 . 例如 . 如果我们通过分发URL请求 existing 资源,则传递资源 . 但是,如果我们请求 not existing 资源,则不会触发重定向 . 如果我检查CloudFront分配的原始设置,我会看到Origin Domain Name设置为
mybucket.s3.amazonaws.com
所以,没有s3网站和 no region !
Q1: 丢失的区域是否考虑到桶的重定向规则的问题?
我想知道因为原始域名是通过下拉列表选择的,并且建议的桶中没有区域 . 但是,我可以编辑Origin域名,但作为一个 生产环境 系统,我不想搞砸这些配置 .
Q2: 将Bucket网站的重定向规则与CloudFront分配结合使用的建议设置是什么?
1 回答
根据此处this和this文档,您需要忽略下拉列表并手动插入正确的 endpoints ,以使重定向可用于CloudFront分配 . 但是,需要官方参考 .