Amazon s3 使用不带签名URL的CloudFront/S3设置内容处置
我有一些具有公共读取权限的对象,这些对象仅限于通过CloudFront提供服务。当我尝试将Amazon s3 使用不带签名URL的CloudFront/S3设置内容处置,amazon-s3,amazon-cloudfront,Amazon S3,Amazon Cloudfront,我有一些具有公共读取权限的对象,这些对象仅限于通过CloudFront提供服务。当我尝试将响应内容处置参数传递到我的CloudFront URL时,我得到了S3错误: 特定于请求的响应头不能用于匿名GET请求。 我已经读到,S3不允许您设置内容配置,除非您使用的是签名URL,但这不是一个选项。CloudFront请求不应被认为是匿名的,因为它们使用bucket策略进行身份验证。有没有一种方法可以将其配置为工作 如何在不使用签名URL的情况下设置内容处置?匿名请求不支持请求选项,如响应内容处置,因
响应内容处置
参数传递到我的CloudFront URL时,我得到了S3错误:
特定于请求的响应头不能用于匿名GET请求。
我已经读到,S3不允许您设置内容配置,除非您使用的是签名URL,但这不是一个选项。CloudFront请求不应被认为是匿名的,因为它们使用bucket策略进行身份验证。有没有一种方法可以将其配置为工作
如何在不使用签名URL的情况下设置内容处置?匿名请求不支持请求选项,如
响应内容处置
,因此错误表明S3未看到任何身份验证信息
为了让CloudFront向S3源进行身份验证,必须将Restrict Bucket Access
origin设置设置为Yes
该选项的名称非常糟糕,因为该选项实际上没有限制对bucket的访问。它应该被称为“发送到Bucket时对请求进行身份验证”,因为这是该选项实际启用的功能——使用源访问标识(OAI)对发送到Bucket的请求进行身份验证
请注意,您的设置允许请求以匿名方式通过,这可能意味着您的bucket策略或对象ACL没有足够的限制。“CloudFront请求不应被视为匿名,因为它们使用bucket策略进行身份验证。”对,听起来您实际上并没有这样做,并且该对象是可公开访问的,并且是匿名访问的,而不是使用源访问标识(OAI)。@Michael sqlbot您称之为它!答案是您可以这样做,但CF发行版必须选择限制访问的选项。张贴,我会接受答案!