簡體   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