在 HTTPS 站点中包含不安全的流式传输 URL

Posted

技术标签:

【中文标题】在 HTTPS 站点中包含不安全的流式传输 URL【英文标题】:Include non-secure steaming URL in HTTPS site 【发布时间】:2016-02-15 09:00:26 【问题描述】:

我有一个启用 HTTPS 的站点,我使用 javascript/html5 音频插件在此处流式传输 mp3。 Chrome 和其他浏览器将流式 url 视为不安全的内容。用户需要手动允许阻止内容。

My Site : https://www.domain.com
Streaming URL : http://100.160.240.230:8000/high

Javascript 代码 sn-p :

<script type="text/javascript">
$(document).ready(function()
   var stream =  mp3: "http://100.160.240.230:8000" ,
   ready = false;   $("#jquery_jplayer_1").jPlayer(
   ready: function () ready = true; $(this).jPlayer("setMedia", stream).jPlayer("play"); ,
   pause: function() $(this).jPlayer("clearMedia");, error: function(event) 
    if(ready && event.jPlayer.error.type === $.jPlayer.error.URL_NOT_SET) 
        $(this).jPlayer("setMedia", stream).jPlayer("play"); ,
   solution: "flash, html", swfPath: "/player/flash/player.swf", supplied: "mp3" ););
</script>

如果没有安全的流式传输 url,有没有办法解决它?我现在真的无法管理安全的 Steam 网址。

【问题讨论】:

一旦你提交了 HTTPS,你需要完全提交,否则没有什么意义。 【参考方案1】:

正如@deceze 提到的,一旦你提交了 HTTPS;浏览器无法让您显示混合内容。如果你愿意购买一个域名或创建一个子域名(我猜很便宜),那么

    将您的服务器指向该域。 使用 Cloudflare 等服务,它为您提供 https(免费)。 https://www.cloudflare.com/plans/。

因此,通过的所有信息都将来自 cloudflare HTTPS 服务器,您不会收到那些混合内容警告。

我假设 IP 是可公开访问的。

希望有帮助!

【讨论】:

【参考方案2】:

通过使用 https,您会向访问者显示绿色锁。

如果你想发出http请求,那就意味着你想欺骗你的访问者。

不要那样做。 (出于同样的原因,浏览器会阻止您或移除绿色锁定 - 称为混合内容)

【讨论】:

@deceze 这不是次要的,这是他们知道它是安全的唯一方法。当你有一个表单要求输入密码时,如果网页显示一个锁,它可能是安全的,如果没有,可能 iframe 或 ajax 请求是安全的,但你不知道。 是的,锁是网站安全的视觉指示。但是如果没有实际的安全性,这将毫无意义。 HTTPS 首先为您提供安全性,而混入 HTTP 连接会破坏该安全性。在没有任何关于为什么锁存在的真实信息的情况下使用视觉指示器有点简单化。 @deceze 是的(显然有些人不太关心用户的安全......)

以上是关于在 HTTPS 站点中包含不安全的流式传输 URL的主要内容,如果未能解决你的问题,请参考以下文章

使用 AVPlayer 从 url 流式传输广播 - > iPhone 播放器控件不起作用

使用 AVPlayer 从 https 流式传输视频会导致初始延迟

如何在目标站点上抓取通过 websocket 流式传输的 JSON 数据

在 VideoView 上流式传输视频

如何从 Python 中的 Youtube URL 流式传输音频(无需下载)?

从 URL 流式传输视频,标题中带有授权