2017-06-16 35 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”。 –