2017-06-16 66 views
0

我正在開發一個使用WebRTC的應用程序,我希望Chrome能夠使用系統相機。根據我的理解,只能從「安全位置」(https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins)(如localhost和127.0.0.1)使用相機(在最新版本的Chrome中)。WebRTC,Camera in Chrome和https

我想在本地進行測試,並通過與服務器駐留在同一臺PC上的客戶端和另一臺PC的客戶端連接到服務器。尤其是,從另一臺電腦連接的客戶端需要使用其IP地址連接到服務器(我正在Intranet上開發/測試它),但客戶端無法使用相機,因爲它不調用本地主機。

有沒有辦法禁用這個約束,以便我能夠在Intranet上測試它? 如果沒有,有沒有其他的選擇?

+0

我想你將不得不爲了以https ...我不得不使用它來創建某種認證做這樣的事情.. https://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl。 如果您使用node.js ....類似於.. var options = {fs.readFileSync('./ cert/file.pem'), cert:fs.readFileSync('./ cert /file.crt') }; Regards – Albeis

+0

我做到了,但瀏覽器將其識別爲自動生成的證書並認爲它不安全。這樣,每次我加載頁面,腳本都不加載,我需要手動接受它們,導致頁面重新加載,這是我不想要的,因爲它會重新啓動我的Angular應用程序。 NotAllowedError:只有安全的起源是允許 –

+0

UPS,我用純javascript..Regards – Albeis

回答

0

嘗試在Chrome的不安全性治療不安全的原產地,作爲安全標誌: http://peter.sh/experiments/chromium-command-line-switches/#unsafely-treat-insecure-origin-as-secure

+0

不幸的是,我不斷收到同樣的錯誤做了(參見:「https://開頭goo.gl/Y0ZkNV」)。 我想: 打開/應用/谷歌\ Chrome.app/ --args --unsafely性治療不安全的原產地,如安全= HTTP://192.168.1.8的user-data-DIR = /用戶/路易/文檔/ TMP /鉻 我還看到在控制檯此消息: VM230:1372 [棄用] getUserMedia()不再適用於不安全的起源。要使用此功能,您應該考慮將應用程序切換到安全的來源,例如HTTPS。有關更多詳細信息,請參閱「https:// goo.gl/rStTGz」。 –