运行Angular 4项目以及使用IP地址使用网络摄像头时出现问题

时间:2019-03-31 18:50:31

标签: angular typescript

我正在尝试运行Angular 4项目。这是一个视频聊天应用程序。当我尝试使用localhost运行时,它不起作用以及当我使用

ng s --host 192.16.10.xxx:4200

使用网络摄像头时出现问题,并显示此错误:

  

[不推荐使用] getUserMedia()不再适用于不安全的来源。要使用此功能,应考虑将应用程序切换到安全来源,例如HTTPS。有关更多详细信息,请参见goo.gl/rStTGz。

我不知道该怎么做。

有人可以帮我吗?

编辑-

我已经生成了ssl文件localhost.keylocalhost.csr,并且文件夹结构为

enter image description here

当我尝试运行

  

ng serve --ssl --ssl-key localhost.key --ssl-cert localhost.csr   --host 0.0.0.0

出现错误

error:0906D06C:PEM routines:PEM_read_bio:no start line
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line

2 个答案:

答案 0 :(得分:0)

您需要为项目提供(自签名)ssl证书。您可以在命令行上执行此操作,也可以在配置文件中指定。您可以找到生成证书然后生成CLI的过程。主机部分是可选的

# angular generates a self-signed certificate for localhost automatically
ng serve --ssl 

-or-

# tries to use to the provided certificate, it it cannot find generate one
ng serve --ssl --ssl-key <ssl_key_file>  --ssl-cert <ssl_cert_file>

不要忘记将证书作为受信任的根证书导入到您的PC /浏览器中。您可以查看每种浏览器的操作方法。

答案 1 :(得分:0)

因此,请尝试使用证书在本地运行Angular应用。您可以使用打开的SSL生成证书

openssl req -new -x509 -newkey rsa:2048 -sha256 -nodes -keyout localhost.key -days 3560 -out localhost.crt -config certificate.cnf

然后运行

"start": "ng serve --ssl --ssl-key d:\\certificates\\localhost.key  --ssl-cert d:\\certificates\localhost.crt"

我在https://medium.com/@richardr39/using-angular-cli-to-serve-over-https-locally-70dab07417c8网站上找到了此信息