S3,签名URL和缓存

and*_*elt 7 amazon-s3 amazon-web-services node.js knox-amazon-s3-client

我正在使用knox nodejs-library在我的webapp(nodejs)上生成签名的URL.然而,问题出现了,对于每个请求,我需要为当前用户重新生成一个唯一的GET签名URL,从而使浏览器的缓存控制不在游戏中.

我搜索网络没有成功,因为浏览器似乎使用完整的URL作为缓存密钥所以我真的很好奇我怎么能在给定的情况下(nodejs,knox库)解决问题并使用缓存控制,同时仍然能够为每个请求生成签名的URL,因为我需要验证用户的访问权限.

我无法相信没有解决方案.

小智 2

如果您将 CloudFront 与 S3 一起使用,则可以使用自定义策略,如果您将每个 url 限制为用户的 IP 和相当长的超时,则意味着当他们再次请求相同的内容时,他们将获得相同的 URL,从而获得相同的浏览器可以缓存内容,但该 URL 对其他人(在不同的 IP 上)不起作用。

(请参阅:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html