【问题标题】:How to allow https to access content from wowza http link?如何允许 https 从 wowza http 链接访问内容?
【发布时间】:2017-08-29 10:07:33
【问题描述】:

我有一个问题。最近我从我的流媒体服务器获得了可以在我的网站上播放的链接。我的流媒体服务器使用 http 链接,但我的网站使用 https ssl。在我获取播放链接期间,它无法通过显示以下错误从我的流媒体服务器获取内容:

enter image description here

我期待很快收到大家的来信。

提前致谢。

最好的问候,

盛虹

【问题讨论】:

    标签: codeigniter http https wowza clappr


    【解决方案1】:

    发生此错误是因为出于安全考虑,您无法从 HTTPS 页面访问 HTTP 资源。这是浏览器的行为。

    为了解决这个问题,可以在服务器端建立一个代理端点,例如/proxy/playlist.m3u8,它接受HTTP GET请求。浏览器将从https://<your-server>/proxy/playlist.m3u8 获取资源,就好像它存储在您的主机中一样。因为是 HTTPS 请求,所以没有错误。

    在服务器端,当GET/proxy/playlist.m3u8 的请求被监听时,HTTP 请求将被代理到您的流媒体服务器(向流媒体服务器发送GET 请求,其中包含所有标头、参数和正文)。当接收到来自流服务器的响应时,响应将直接返回给浏览器,其中包含所有响应头和数据。

    由于对流服务器的 HTTP 请求发生在您的服务器端,因此来自浏览器的限制逻辑不再适用。

    例如,如果服务器是用 Node.js 编写的,带有 Express 和 request 模块,代理端点将如下所示:

    app.get('/proxy/playlist.m3u8', function(req, res) {
      req.pipe(request('http://<streaming-server>/path/playlist.m3u8')).pipe(res);
    });
    

    【讨论】:

    • 亲爱的少川,因为我的流媒体服务器使用http但我的网站使用https问题现在我的流媒体服务器阻止了我的请求。
    • @chhenghong “阻止我的请求”是什么意思?
    • @chhenghong 流媒体服务器是否返回响应?你的服务器收到了吗?您可以发布您的代理代码吗?
    • 一切正常。错误消息是“此请求已被阻止;内容必须通过 HTTPS 提供。”
    • @chhenghong 我猜这个错误信息显示在浏览器上?您的代理端点是通过 HTTPS 还是 HTTP 提供的?
    猜你喜欢
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多