[英]Download file redirecting from Amazon S3 to Client
我是Amazon S3的新手,我想構建一個可能不存在的解決方案。
我必須構建一個Web應用程序(Java或PHP后端),用戶可以在其中登錄和下載文件。 Web服務器(Tomcat或Apache)驗證用戶並允許從Amazon S3下載。 當我使用CMS時,文件很小,請求很少。 因此,流程為:
Client (User) > Server (user validation) > CMS (get file) > Server > Client (User)
現在,文件更大了,我想得到下一個流程:
Client (User) > Server (user validation) > Amazon S3 > Client (User)
我的目標是提高服務器的性能,並避免在用戶獲得文件時過多的文件流量。 可能嗎?
我的第一種方法(尚未實現!)是從服務器到Amazon S3的sendredirect:
用戶請求/file1
=>服務器將/file1
轉換為/company.s3.amazon/mybucket/file1.pdf
並執行sendredirect到Amazon S3鏈接。
通過這種方法,我認為我無法驗證IAM用戶(我不使用任何API),但我也可以通過按服務器IP地址過濾的存儲桶策略來保護內容。
謝謝。
我建議使用Pre-Signed URL ,這是一種提供對存儲在Amazon S3中的私有對象的臨時訪問的方法。
預先簽名的URL包括:
可以從幾行代碼中生成預簽名的URL,只有在GET請求發送到Amazon S3時才進行評估 。
當您的應用程序(在服務器上)確定用戶有權訪問文件時 ,它可以生成預簽名的URL並將其作為網頁的一部分返回(例如,在超鏈接中)。 當用戶單擊鏈接時,文件將直接從S3中提供 。 到期后,URL將不再提供對該文件的訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.