[英]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.