2017-03-09 36 views
0

我基于this教程创建了webrtc示例。这项工作在我的本地网络上很好,我可以发送和接收信号和视频。但是当我从互联网连接时,服务器和两个对等端不在同一个网络视频连接不创建。为什么webRTC由本地Lan工作,但不在Internet?

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

+0

您使用的是什么浏览器? - 铬? –

+0

是的,它在两侧都是镀铬 –

+0

请参考下面的答案; @ navid_pdp11 –

回答

0

原来的答案

我相信,你需要一个HTTPS(SSL证书),如果你使用的是Chrome +47进行在线部署,但如果从本地计算机在同一网络上的服务是不需要的。

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

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

的问题是未必WebRTC但不提供getUserMedia /流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即可能重复;

您“可以”启动Chrome浏览器接受不安全的来源;然而,这是临时的。修复,而你可能想获得证书。

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

enter image description here

+0

你的意思是如果我创建一个注册证书ID将工作好吗?和自签名证书只适用于本地同行? –

+0

是否有任何解决方案可以自由创建ssl证书?为此我必须在我的主机上有一个域,或者我可以为我的IP创建ssl? –

+0

如果您使用注册供应商提供的注册证书,那么chrome会表现得很好。然而,如果你自己签了字 - 铬会倾向于不承认它是“安全的”。你可以尝试通过OpenSSL,我需要回复你(因为这不符合我自己的经验)。 –

相关问题