我已经使用CloudFront配置了一个S3存储桶,并使用了CludFront提供的备用域名(我在DNS区域文件中设置了域别名images.mydomain.com)。 在我的DNS主机上,CNAME我指向xyz.cloudfront.net。我的s3存储桶名称和CNAME域别名都是images.mydomain.com。
我希望世界能够在images.mydomain.com/image.jpg上访问我的图片,这非常有效。
问题是世界可以通过以下两个网址直接访问相同的资源,我也不希望这种情况发生。我只想image.mydomain.com/image.jpg为世界而不是下面的两个工作。
images.mydomain.com.s3.amazonaws.com/image.jpg s3.amazonaws.com/images.mydomain.com/image.jpg
我如何实现这一目标?请帮忙。
答案 0 :(得分:1)
您可以通过创建原始访问来限制对Amazon S3内容的访问 identity,这是一个特殊的CloudFront用户。您更改了Amazon S3 权限授予访问权限的原始访问权限 您的对象,以及从其他人删除权限。当你的 用户使用CloudFront URL访问您的Amazon S3对象 CloudFront原始访问标识获取用户的对象 代表。如果您的用户尝试使用Amazon S3 URL访问对象, 他们被拒绝进入。原始访问标识具有权限 访问Amazon S3存储桶中的对象,但用户不访问。