0

我正在使用 aws mediapackage 和 aws cloudfront 来提供视频点播服务。由于安全原因,我在 mediapackage 中为我的打包组获得了 cdn 授权,它可以正常工作,这意味着所有资产只能从云端获得。但为了提高安全性,我需要使用签名的 url 来限制访问。当我在云端控制台中启用此功能时,限制工作正常,我的网址返回 403 禁止。当我签署一个 url 时,我不会收到 403,但问题是流媒体不再工作了。这意味着我的浏览器控制台中有以下错误:

从源“127.0.0.1:8000”访问“https://xxxxxxxxxx.cloudfront.net/out/v1/xxxxxxxxxxxxxxx.m3u8”的 XMLHttpRequest 已被 CORS 策略阻止:没有“Access-Control-Allow-Origin”标头存在于请求的资源上。

4

1 回答 1

0

CORS 政策在这里无关紧要。我认为主要问题是您使用的播放器没有请求带有签名 URL 的子清单,或者签名 URL 中使用的签名无效。

您能否在调试模式下检查请求“https://xxxxxxxxxx.cloudfront.net/out/v1/xxxxxxxxxxxxxxx.m3u8”的 URL 是否包含 Expires、签名和 Key-Pair-Id

每个清单和分段都有不同的基本 URL。这意味着签名 URL 中使用的签名不同。您必须确保播放器在播放时使用正确的签名

谢谢,山姆

于 2020-12-23T05:33:55.623 回答