17

我正在开发一个需要登录并包含嵌入式 Youtube 视频的网站。由于登录,我需要让 SSL 工作,这在很大程度上是。不过,我在 Youtube 嵌入方面遇到了一个意想不到的问题。指向https://www.youtube.com很容易,但 Firefox 仍然抱怨加密页面上有未加密的内容。根据 Firebug 的说法,唯一未加密的负载来自http://[stuff].youtube.com/videoplayback?[more stuff]。

现在,完全可以理解 Youtube 不想要加密其视频流的开销,而且我认为这不会构成实际的安全漏洞。我只需要让浏览器满意。(当然,我知道可以禁用该警告,但我不能在用户的机器上这样做。)必须有办法做到这一点,因为https://www.youtube.com本身并没有即使视频流也使用 http: ,也会弹出此错误。

我没有在其他浏览器中看到类似的错误,但我还没有看起来很努力。

如果重要的话,我的开发机器没有有效的 SSL 证书;我刚刚添加了一个例外。

4

8 回答 8

2

如果您正在<iframe>使用<embed>或检查 YouTube API 提供的其他嵌入代码选项。

于 2014-07-15T11:11:38.597 回答
1

我有一个 ssl 安全网站,这适用于 Firefox

<iframe id="player" src="https://www.youtube.com/embed/XfI....Ctpo?enablejsapi=1&origin=https://yourdomain.com&showinfo=0&iv_load_policy=3&modestbranding=1&theme=light&color=white&rel=0" frameborder="0"></iframe>

于 2015-01-23T14:54:38.330 回答
0

尝试使用 Firefox“检查器/网络分析”(shift-ctrl-I) 的页面来分析请求的元素。我猜这是您无法控制的一些javascript INSIDE。在任何情况下,您都应该能够使用此工具查明特定的触发器。

检查将浏览器切换到 HTML5 而不是 Flash 来播放视频时是否会有所不同,反之亦然。YouTube 最近将默认协议更改为 HTML5。

于 2015-02-12T13:36:25.797 回答
0

我没有解决方案,而是提出建议:您确定没有有效的 SSL 证书与此无关吗你不会这么想,但你永远不会知道。如果你得到了一个,但它仍然不起作用,那么无论如何你都不必这样做。我经历了为我的家庭服务器获取/安装和配置 SSL 密钥和证书的过程,每件小事似乎都会对 SSL 的行为/反应方式产生影响。

另外,您是否尝试过访问它所在的本地网络之外的站点?听起来您与托管站点的服务器(安装了 SSL 的服务器)在同一个网络上,这可能会由于 NAT 遍历而本身产生问题(我相信,但如果我错了,请纠正我 - 我们'都在这里学习)。有时使用 HTTPS,您可能会在连接到本地网络中的资源时遇到问题,而互联网上的人根本不会遇到任何问题。只是我的两美分。如果我提供了任何不正确的信息,我们深表歉意。对这一切持保留态度,但希望你能找到问题的答案。像这样的事情可能会让人头疼。

您可能对此也无能为力……因为 Youtube 似乎没有通过 HTTPS 提供内容……这超出了您的控制范围。我知道你不会质疑你得到的错误,只是想要一个解决方法。

顺便说一句,我认为他们的主页启用了 HTTPS,而不是他们的视频内容......所以这就是嵌入主页不会产生错误的原因。

编辑:另外,我看到其他人写使用嵌入而不是 iframe,我也建议这样做。浏览器将 iframe 视为另一个页面,但您得到的错误表明不安全的内容实际上与安全内容相结合,所以一切都应该没问题......但你永远不知道。

于 2014-07-28T01:31:34.583 回答
-1

Please remove http then u check..

for example

<iframe id="player" src="www.youtube.com/embed/XfI....Ctpo?enablejsapi=1&origin=https://yourdomain.com&showinfo=0&iv_load_policy=3&modestbranding=1&theme=light&color=white&rel=0" frameborder="0"></iframe>
于 2015-04-15T11:57:03.887 回答
-1

您的网站设计是否有可能尝试通过 http 调用而不是 https 来获取 youtube 视频?我不知道您网站的布局,但如果您只是希望它停止抱怨,那应该这样做。

也就是说,youtube 确实有有效的 https 证书,但这是由于谷歌集成。由于您不是 google,因此在访问 youtube 的内容时,您不会被视为有效的证书持有者(这正是 SSL 旨在防止的事情)。

所以,基本上,如果可以的话,只需通过 http 而不是 https 嵌入。您的网站仍然可以是 https,而不是对 youtube 的调用。

于 2014-10-01T01:07:55.017 回答
-1

只需用冒号删除( http 或 https ),它将完美运行

例子

<iframe id="player" src="//www.youtube.com/embed/XfI....Ctpo?enablejsapi=1&origin=https://yourdomain.com&showinfo=0&iv_load_policy=3&modestbranding=1&theme=light&color=white&rel=0" frameborder="0"></iframe>

于 2015-05-12T06:43:05.293 回答
-2

一个更简单的方法是下载视频本身,然后在您的服务器上本地链接到它,例如将其保存在与您的页面相同的目录中,然后直接链接到那里。

于 2014-03-30T18:13:50.630 回答