跨域 CORS 和镜像

Ada*_*dam 5 html amazon-s3 amazon-web-services cors amazon-cloudfront

我正在使用 AWS S3 和 Cloudfront 将图像传送到我的站点/域。

我一直在研究 AWS S3 CORS,我想问一下我是否限制域,这会限制其他域访问我的图像。

如果我要在包含图像的存储桶上设置以下内容,这会阻止其他域访问存储桶中的图像,或者图像的操作方式与 CORS 下的资源不同。

<AllowedOrigin>http://www.example.com</AllowedOrigin>
Run Code Online (Sandbox Code Playgroud)

本质上我想将我的图像限制在我的网站上。

另外我听说您必须将 Cloudfront 作为这项工作的另一个允许来源 - 有人可以确认这一点吗?

谢谢

dat*_*age 3

CORS 是由浏览器强制执行的策略。它不会阻止用户从您的 Cloudfront 发行版下载图像。

你有两个选择。

  1. 将您的所有文件设为私有,并通过签名 URL 提供访问权限。然而,在这种情况下,Cloudfront 不会真正缓存图像。

  2. 另一个选项是配置 cloudfront 转发所有标头,并使用存储桶策略根据引荐来源网址限制访问。您可以绕过这个问题,但这会阻止大多数随意的盗链。