我正在尝试运行Angular 4项目。这是一个视频聊天应用程序。当我尝试使用localhost
运行时,它不起作用以及当我使用
ng s --host 192.16.10.xxx:4200
使用网络摄像头时出现问题,并显示此错误:
[不推荐使用] getUserMedia()不再适用于不安全的来源。要使用此功能,应考虑将应用程序切换到安全来源,例如HTTPS。有关更多详细信息,请参见goo.gl/rStTGz。
我不知道该怎么做。
有人可以帮我吗?
编辑-
我已经生成了ssl文件localhost.key
和localhost.csr
,并且文件夹结构为
当我尝试运行
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
答案 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网站上找到了此信息