【问题标题】:Cloudfront authorization with my own server使用我自己的服务器进行 Cloudfront 授权
【发布时间】:2016-03-09 19:42:08
【问题描述】:

我想使用像http://example.com/image.jpg?token=123abc 这样的网址 下载文件时,cloudfront会询问我自己的服务器这个token是否有效,并决定允许/拒绝下载。

这可能吗?

我已经阅读了http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html 上的一些文件,但对我来说似乎没用:(

【问题讨论】:

  • 您引用的“无用”链接(注意:并不是真的没用,但您必须了解它的工作原理/原因)与您所讨论的是当您希望 CloudFront确定请求是否被授权,它不会“询问”您的服务器——它在转发到源或从缓存提供服务之前对请求进行自己的验证。如果任何凭据被传递到服务器,例如通过查询字符串或通过Cookie:Authorization: 标头,则只有在后续请求包含 identical 时才能从缓存中提供该响应参数。
  • CloudFront 是否可以做您想做的事,以及如何做到这一点,取决于您真正想要完成什么。如果您希望可能从缓存中提供受授权检查的内容,则需要使用签名的 URL 或签名的 cookie,您的服务器可以将其发送到浏览器以便授权请求。

标签: amazon-web-services


【解决方案1】:

您可以将 CloudFront 分配配置为转发查询参数,这样令牌将被传递到您的服务器,该服务器可以免费返回 200 OK 或 403 Forbidden。这样做的缺点是 CloudFront 不会缓存内容一次 - 每个令牌一次或根本不缓存

【讨论】:

    猜你喜欢
    • 2011-04-13
    • 1970-01-01
    • 2015-07-24
    • 2021-07-15
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    相关资源
    最近更新 更多