繁体   English   中英

Rails的Carrierwave Fog隐藏S3目录

[英]Rails Carrierwave Fog hide s3 directory

我想让用户直接从S3下载文件,但不想公开完整目录。 目前,我可以通过以下方式使用AWS::S3库实现该目标

S3Object.url_for('beluga_baby.jpg', 'marcel_molina')

它将给我网址,例如:

http://s3-ap-southeast-1.amazonaws.com/bucketname/filename.png?AWSAccessKeyId=key&Expires=exp&Signature=signature

仅凭雾就可以做到吗? 我试图像这样配置雾:

config.fog_public = false
config.fog_authenticated_url_expiration = 600 # 10 minutes

但是该文件的目录仍然是公开的,只是到期了。

"https://bucketname.s3-ap-southeast-1.amazonaws.com/uploads/course_material/file/id/filename.png?AWSAccessKeyId=key&Signature=signature&Expires=exp"

带有到期日期的url可能是您想要的(如果您仔细查看S3Object的结果,您也会发现它也是这种方式)。 即使有人知道存储桶的名称和路径,他们也无权访问,除非您显式将存储桶公开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM