S3 服务 mpeg-dash,将加载清单,但包上的 CORS 失败

Posted

技术标签:

【中文标题】S3 服务 mpeg-dash,将加载清单,但包上的 CORS 失败【英文标题】:S3 serving mpeg-dash, will load the manifest but CORS fails on the packages 【发布时间】:2018-10-22 02:54:21 【问题描述】:

我一直在使用 S3 来提供 MPEG-Dash 视频,并且运行良好。

我对视频处理作业进行了一些更改,但它们仍然发布到同一个地方,但现在我遇到了一个奇怪的问题,即清单(在同一个文件夹中)加载正常,但我得到了以下错误:

对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“https://localhost:3000” 访问。

S3 配置如下规则

<CORSRule>
    <AllowedOrigin>https://localhost:3000</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>

并且以前从未出现过问题。

网址在浏览器中加载良好,因此它们是有效的。

当我查看调试工具时没有得到任何响应,但它是状态码 403

【问题讨论】:

您有 HTTP &lt;AllowedOrigin&gt;http://localhost:3000&lt;/AllowedOrigin&gt; 的规则,但通过 HTTPS 访问页面,正如我在 CORS 错误中看到的那样。 谢谢,我也有 https,我应该展示一下 【参考方案1】:

问题是本地测试代理服务器配置错误

【讨论】:

以上是关于S3 服务 mpeg-dash,将加载清单,但包上的 CORS 失败的主要内容,如果未能解决你的问题,请参考以下文章

Chromecast Receiver CAF,无限加载 MPEG-DASH 流,ShakaPlayer 访问

使用多个清单文件从 S3 加载到 Redshift?

如何创建具有多个后备 URL 的 MPEG-DASH 清单?

如何正确向 Shaka 播放器提供 MPEG-DASH 清单?

Redshift - 复制多个清单文件

使用清单从多个 s3 文件夹加载红移表