为什么webRTC由本地Lan工作但不在Internet上工作?

时间:2017-03-09 09:56:01

标签: node.js webrtc

我基于this教程创建了一个webrtc示例。这项工作在我的本地网络很好,我可以发送和接收信号和视频。但是,当我从互联网连接时,服务器和两个对等体不在同一网络视频连接中,无法创建。

我使用自签名证书,必须添加两个浏览器。 没有错误或异常。我的信令服务器是一个用nodejs编写的Web套接字服务器。

1 个答案:

答案 0 :(得分:0)

原始答案

如果您使用Chrome +47在线部署,我认为您需要HTTPS(SSL证书),但如果在同一网络上的本地计算机上提供服务则不需要。

根据caniuse; Edge和Firefox可能会产生非阻塞结果(但前缀为moz):http://caniuse.com/#feat=stream

http://caniuse.com/#feat=stream

问题不一定是WebRTC,但是当从非安全站点(或非本地主机地址)调用时,不会提供 getUserMedia / Stream API

附图: (https://developers.google.com/web/updates/2015/10/chrome-47-webrtc

https://developers.google.com/web/updates/2015/10/chrome-47-webrtc

<强>更新
进行了一些挖掘,以下答案与问题getUserMedia() in chrome 47 without using https有关,即可能重复;

你&#34;可以&#34;启动Chrome浏览器以接受不安全的来源;然而,那个临时性。修复,而你可能想要获得证书。

chrome.exe --user-data-dir=/test/only/profile/dir --unsafely-treat-insecure-origin-as-secure="http://example.com"

enter image description here