Redirect Cloudfront、lambda@edge、S3重定向对象、,
我正在构建一个S3URL重定向,没什么特别的,只是一堆填写了WebsiteRedirectLocation元的零长度对象。S3 bucket设置为服务器静态网站,bucket策略设置为public,等等。它工作正常 然而,我还想锁定bucket中的某些文件,特别是一些用于管理重定向的HTML文件(比如添加新的重定向)。使用传统的设置,我既可以使用重定向,也可以很好地为HTML页面服务。但为了锁定它,我需要使用Cloudfront和Lambda@edge比如在这些帖子中: 我已经修改了文件lambda@edge脚本,仅在请求管理页面(或其资产,如CSS/JS)时提示输入密码。如果请求的路径是其他路径(可能是重定向文件),则不会提示用户输入密码。是的,我还可以在Cloudfront中设置一个行为规则来决定何时使用Lambda函数提示输入密码 而且它有点起作用。当我按照这些说明通过Cloudfront URL访问我的站点时,当我转到站点的根目录(管理页面)时,确实会收到提示输入密码。但是,重定向将不起作用。如果我尝试加载重定向,浏览器只会下载它 现在,有人建议我将我的Cloudfront分发端点更改为S3 bucket网站端点-我认为这也意味着将bucket策略更改回网站模式,而公共模式很糟糕,因为现在它可以在Cloudfront策略之外访问,这是我不想要的。此外,Cloudfront不再自动为指定的索引文件提供服务,这不是最糟糕的事情Redirect Cloudfront、lambda@edge、S3重定向对象、,,redirect,amazon-s3,aws-lambda,amazon-cloudfront,aws-lambda-edge,Redirect,Amazon S3,Aws Lambda,Amazon Cloudfront,Aws Lambda Edge,我正在构建一个S3URL重定向,没什么特别的,只是一堆填写了WebsiteRedirectLocation元的零长度对象。S3 bucket设置为服务器静态网站,bucket策略设置为public,等等。它工作正常 然而,我还想锁定bucket中的某些文件,特别是一些用于管理重定向的HTML文件(比如添加新的重定向)。使用传统的设置,我既可以使用重定向,也可以很好地为HTML页面服务。但为了锁定它,我需要使用Cloudfront和Lambda@edge比如在这些帖子中: 我已经修改了文件la
那么,有没有可能完全通过Cloudfront锁定我的bucket服务器Lambda@edge但是Cloudfront是否也尊重这些重定向,而不仅仅是提示下载?Cloudfront中是否有关于标头的设置?我是否应该为不同的文件设置不同的行为规则(HTML vs redirects)?而不是使用
WebsiteRedirectLocation
meta,它特定于S3静态网站托管,当Cloudfront是服务器时无效,将空对象替换为包含带有所需重定向目标的meta
HTML标记的HTML对象:
<meta http-equiv="Refresh" content="0; url=https://www.example.com" />
分号前的数字是重定向前的延迟,以秒为单位,其中0为立即数
不要忘记将对象的内容类型
元标记也更改为text/html
如果您想支持可能无法正确处理刷新指令的旧浏览器,请按照说明添加锚定链接。而不是使用
WebsiteRedirectLocation
meta,它特定于S3静态网站托管,在Cloudfront为服务器时无效,将空对象替换为包含带有所需重定向目标的meta
HTML标记的HTML对象:
<meta http-equiv="Refresh" content="0; url=https://www.example.com" />
分号前的数字是重定向前的延迟,以秒为单位,其中0为立即数
不要忘记将对象的内容类型
元标记也更改为text/html
如果您想支持可能无法正确处理刷新指令的旧浏览器,请按照说明添加锚定链接。哦,这是一个有趣的想法,我将尝试一下,稍后再报告!谢谢这是一个有趣的主意,我会试一试,稍后再报告!谢谢