【发布时间】:2014-07-09 03:47:28
【问题描述】:
我目前正在为现有的视频流服务开发 Chromecast 应用。我们目前正在开发一个概念验证应用程序,该应用程序将允许我们投射视频。
我在 Cast 开发者网站上阅读了有关 CORS here 的信息。不幸的是,我无权更改服务器响应的标头或更新服务器上的 cors.xml 文件(据我所知目前不存在)。
我目前解决此问题的方法是通过 Charles 代理我的 Chromecast 的 HTTP 流量,并使用重写功能将所需的 CORS 标头添加到从其他来源请求的 HLS 文件中。
此解决方案适用于非安全内容,但是,我们也有通过 HTTPS 传送的内容,上述解决方案不起作用。
是否有任何方法可以忽略、绕过或在 https 响应中添加 CORS 标头,以便在白名单设备上开发 Chromecast 应用程序?
解决方案可能是安装 Charles 证书,这将允许代理拦截 HTTPS 流量,并允许 Chromecast 接受来自使用该证书的端点的连接,但我看不到在 Chromecast 上安装该证书的方法。
另一种解决方案也可能是编写 Chromecast 命中的我们自己的中间服务,而不是我们的服务器,并使用正确的 CORS 实现返回视频流。
谢谢!
【问题讨论】:
-
在CC端,我可以告诉你,CORS是必需的,不能绕过。您还提到您无权访问流媒体服务来添加标题;如果是这种情况,您是否打算找到一种方法来解决这个问题,即使是在生产中?您使用的哪些 CDN 不允许您这样做?
-
感谢 Ali,在我们投入生产之前,我们将更新 CDN 以交付具有所需 CORS 标头的 HLS 文件。我正在寻找的是一个临时解决方案,我可以在开发过程中使用它来演示我们在 Chromecast 上运行的内容。
-
那么你最好的选择是使用代理;如果无法通过代理路由 https 内容,您可能希望将内容限制为 http 以进行开发,当您看到该内容有效时,开始使用您的 CDN 添加 CORS 标头等。添加标头并不难对于很多 CDN 来说,因为他们已经这样做并且熟悉流程,所以您可以联系他们,看看他们是否可以更早地容纳您。 CC 端没有快捷方式来禁用它以进行开发。
-
是的,这就是我现在要采用的解决方案。随意将该评论作为答案,我会接受。
标签: cors chromecast