Amazon web services Amazon CloudFront vs.S3-->;按域限制访问?

Amazon web services Amazon CloudFront vs.S3-->;按域限制访问?,amazon-web-services,amazon-s3,amazon-cloudfront,Amazon Web Services,Amazon S3,Amazon Cloudfront,在AmazonS3上,您可以按域限制对bucket的访问 但据我从一位有帮助的StackOverflow用户那里了解到,您不能在CloudFront上这样做。但是为什么呢?如果我是正确的,CloudFront只允许基于时间的限制或IP限制(->所以我需要知道随机访问者的IP…),或者我遗漏了什么 这里引用了S3文档中的一段话,指出每个域的限制是可能的: --->“若要允许从您的网站读取这些对象,您可以添加一个bucket策略,该策略允许s3:GetObject权限,并且使用aws:referer

在AmazonS3上,您可以按域限制对bucket的访问

但据我从一位有帮助的StackOverflow用户那里了解到,您不能在CloudFront上这样做。但是为什么呢?如果我是正确的,CloudFront只允许基于时间的限制或IP限制(->所以我需要知道随机访问者的IP…),或者我遗漏了什么

这里引用了S3文档中的一段话,指出每个域的限制是可能的:

--->“若要允许从您的网站读取这些对象,您可以添加一个bucket策略,该策略允许s3:GetObject权限,并且使用aws:referer键的条件是get请求必须来自特定网页。”

-->有没有一种方法可以让这个方法在CloudFront上也起作用?或者为什么CloudFront上没有类似的功能


-->是否有类似的服务可以做到这一点,并且更容易设置?

使用CloudFront和WAF(Web应用程序防火墙),您可以根据IP地址、引用者或域限制请求

这里是关于限制“热链接”的AWS博客教程


在本例中,它禁止
referer:
头与特定域不匹配的请求。

谢谢!文章说:“第1步:确定需要保护的内容。因为我的所有静态文件都在一个单独的子域(static.example.com)上,只能从example.com访问,所以我将阻止在static.example.com下访问的、没有以example.com结尾的Referer的任何文件的热链接。”-->但我会将视频文件放在S3和CloudFront上,带有CloudFront URL,而不是放在我自己的static.example.com上,不是吗?那么,当文章谈到文件位于static.example.com上时,WAF如何保护我的CloudFront文件呢?我误解了什么?我以为你想确保推荐人来自你的域名。请说明您的情况(具体)以及保护文件的标准。我的网站www.example.com位于Hostgator共享服务器上。我必须显示360度视频。360视频播放器是由Pano2VR定制的播放器。这是一个简单的JS文件(我们称之为PLAYER.JS),位于我的www.example.com上。这个JS文件直接指向我的MP4文件。MP4文件不在我的www.example.com上,而是在连接到CloudFront的Amazon S3上。他们现在有了一个CloudFront URL。目标:只有www.example.com上的PLAYER.JS才能播放CloudFront MP4视频。链接到该文件的其他人应被拒绝访问。我希望更清楚?如果不让我知道。非常感谢。是的,所以在这种情况下,上面的例子应该是你正在寻找的:一个推荐人强制执行,以确保推荐人只有www.example.com。不过,在加载视频时,您需要验证PLAYER.JS是否设置了
referer:
标题。明白了,非常有帮助!!