我已经尝试了很多东西而且我承认失败(我在这里已经阅读了很多回复但到目前为止没有人帮助过我).我正在尝试为Cloudfont上保存的文件设置签名URL.我能够为S3创建签名的URL,但我无法为Cloudfront工作.对于cloudfront,我使用AWS SDK中的以下内容:
var url = AmazonCloudFrontUrlSigner.GetCannedSignedURL( AmazonCloudFrontUrlSigner.Protocol.http, "cdn.coffeebreakgrooves.com", privateKey,
file, cloudFrontKeyPairID, DateTime.Now.AddDays(2));
Run Code Online (Sandbox Code Playgroud)
我收到了一个签名的URL,但是在关注链接时我被拒绝访问,当我读到它时,我建议设置Origin Access Identity.然后我转到我的分发设置并设置Origin Access Identity并选择:
然后所有文件都在Cloudfront上公开可用,无论我在S3中对ACL有什么设置(所以即使file.txt对S3中的任何人没有权限,也可以通过Cloudfront访问),我无法判断签名是否已签名URL是否起作用,因为下载可以使用或不使用查询字符串,并且文件已公开.从本质上讲,我如何将我的文件设为私有但可以使用签名URL下载(并且我的签名方法是否正确?).如果删除生成的存储桶策略,则会再次限制访问.我想我需要知道如何设置存储桶策略,以便原始访问标识只能访问带有签名URL的存储桶...也许.
非常感谢您的帮助!