首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails Carrierwave Fog隐藏s3目录

Rails Carrierwave Fog隐藏s3目录
EN

Stack Overflow用户
提问于 2013-08-02 12:46:43
回答 1查看 436关注 0票数 1

我想让用户直接从S3下载文件,但不想公开整个目录。目前,我可以使用AWS::S3库来实现这一点,方法是

代码语言:javascript
运行
复制
S3Object.url_for('beluga_baby.jpg', 'marcel_molina')

它会给我一个类似这样的url:

代码语言:javascript
运行
复制
http://s3-ap-southeast-1.amazonaws.com/bucketname/filename.png?AWSAccessKeyId=key&Expires=exp&Signature=signature

单独使用fog可以做到这一点吗?我尝试这样配置fog:

代码语言:javascript
运行
复制
config.fog_public = false
config.fog_authenticated_url_expiration = 600 # 10 minutes

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

代码语言:javascript
运行
复制
"https://bucketname.s3-ap-southeast-1.amazonaws.com/uploads/course_material/file/id/filename.png?AWSAccessKeyId=key&Signature=signature&Expires=exp"
EN

回答 1

Stack Overflow用户

发布于 2013-08-05 01:42:13

带有过期的url可能就是你想要的(如果你仔细观察S3Object的结果,你会发现它也是这样的)。即使有人知道存储桶的名称和路径,他们也不应该有访问权限,除非您显式地将存储桶公开。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18008955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档