2017-03-09 35 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,我需要回復你(因爲這不符合我自己的經驗)。 –

相關問題