了解 AWS CloudFront 签名 URL

Posted

技术标签:

【中文标题】了解 AWS CloudFront 签名 URL【英文标题】:Understanding AWS CloudFront signed URL 【发布时间】:2016-12-11 20:38:31 【问题描述】:

经过几天的研究,我仍然不确定我是否真的了解 Amazon CloudFront 签名 URL 的机制。这是一个固定 URL吗?还是每次页面加载都不一样?对我来说,只有当 URL 的那个长而随机的部分每次都不同时才有意义。

1) 如果它正在改变,我如何使用 Wordpress 生成它?

2) 困难情况:我正在使用自定义 360 度视频播放器,我需要提供源视频作为 URL 列表。如果签名的 URL 不断变化,如何将此列表添加到此 XML 文件?

抱歉,我似乎没有理解签名 URL 的概念。 谢谢!

【问题讨论】:

您可能还记得my recent answer,我在其中说过“您的网站需要运行在可以动态生成链接到视频的 html 页面的平台上”(因为它们的链接是动态的)。如果它是一个实际链接到视频的 XML 文件,则您需要能够在每个请求上动态生成该 XML“文件”......但是当然问题是,有人可以热链接到 XML 文件吗?您需要从整体上处理整个过程。 【参考方案1】:

S3 预签名 URL 每次生成时都不同。每个预签名的 URL 都嵌入了到期日期以及访问对象所需的凭据。

所以每个对象的签名都是不同的,每次预签名同一个对象时签名也会不同。

因此,您将无法对 URL 进行预签名并长时间保存它们。

确实,您应该在请求发生在页面上时对其进行预签名,并使用对您的应用程序有意义的尽可能短的到期时间。

如果您的视频播放器正在从 Web 服务器下载 URL 的 XML 文件,那么您应该在每次从客户端请求文件时生成一个带有新预签名 URL 的新 XML 文件。

【讨论】:

谢谢马特!非常有帮助。但是,呃,我从没想过在 Amazon CloudFront 上设置一些带有一点保护的视频是那么难……对于像我这样的视频人来说几乎无法访问(不是程序员,只是网站上的半高级开发者)

以上是关于了解 AWS CloudFront 签名 URL的主要内容,如果未能解决你的问题,请参考以下文章

通过 AWS 开发工具包创建签名的 S3 和 Cloudfront URL

AWS CloudFront 签名 Cookie CORS 问题

没有密钥对(RSA 私钥)的 aws cloudfront 中的签名 cookie

带有签名 cookie 的 AWS Cloudfront POST 请求

带有签名 URL 的 AWS CloudFront:403 访问被拒绝

AWS CloudFront 签名 URL 的访问被拒绝