我在我的网络应用程序中使用getUserMedia()
,当我在本地主机上测试我的应用程序时,它工作得很好。但是,如果我把我的笔记本电脑当作服务器,并在我的android手机的谷歌Chrome浏览器中启动应用程序,那就给了我一个错误:
getUserMedia()不再适用于不安全的起源。要使用此特性,应考虑将应用程序切换到安全来源,如HTTPS。有关更多详细信息,请参阅https://goo.gl/rStTGz。
当我检查[https://goo.gl/rStTGz][1]时,我了解到getUserMedia()
在不安全的起源上是不可取的。据记载,对于发展模式,
您可以使用--unsafely-treat-insecure-origin-as-secure="example.com“标志运行chrome (将"example.com”替换为实际要测试的源)
我可以怎样在哪里设置这个旗子?还有别的选择吗?
发布于 2020-04-02 02:18:35
这可以通过chrome://flags/
或about://flags
来完成。
转到about://flags
,搜索unsafely-treat-insecure-origin-as-secure
标志,并启用它。您必须提供您希望被视为安全的来源。
多个来源可以输入为逗号分隔的值。
在进行此更改后,将重新启动浏览器。
注意,协议部分也很重要,仅指定IP地址或域名是不够的。例如:Http:// in http://192.168.43.45
.如果您没有使用端口80,那么您可能也必须指定该端口。
下面是我手机的截图。
手机:三星银河S10e
Android版本: 10 (Android 10)
Google Chrome版本:79.0.3945.136
对于我正在建设的网站的本地测试,地理定位是必要的。地理定位是允许在安全的地点。我确实有一个带有HTTPS证书的生产服务器,但是如果每次都要将内容上传到它,开发和调试过程就会变得太慢。
更多信息
发布于 2016-11-27 20:21:06
将localhost
移动到设备上
一种方法是在Android设备上运行HTTP服务器。对这个问题的答案的共识是,NanoHTTPD值得一试。如果你想要一个现成的应用程序,http server for android
的网络搜索会在Google商店中找到简单HTTP服务器。在将web应用程序的客户端复制到设备并启动服务器后,您应该能够在Chrome中打开http://localhost:12345
。
或者使您的测试服务器安全。
通过将现有的测试服务器转换为可能值得信赖的来源,您可以测试仅使用安全上下文的特性,而无需使用--unsafely-treat-insecure-origin-as-secure
。遵循以下步骤:
发布于 2016-04-30 07:52:08
我也面临着这个问题,但在铬,Ubuntu。我解决了在控制台中运行这个命令的问题:
chromium-browser --unsafely-treat-insecure-origin-as-secure="http://localhost.dev:3000" --user-data-dir=~/.config/chromium/Profile 1
localhost.dev:3000是你的网站。
关于其他系统的信息,请参阅:
关于--unsafely-treat-insecure-origin-as-secure
标志的简短信息:
将给定的(不安全的)来源视为安全的来源。可以提供多种来源。除非--用户-数据-dir也被提供,否则没有任何效果。示例:
--unsafely-treat-insecure-origin-as-secure=http://a.test,http://b.test --user-data-dir=/test/only/profile/dir
我没有检查,但是对于android,您也可以在chrome:// page页面上设置标志。
https://stackoverflow.com/questions/34878749
复制相似问题