我在etc / hosts文件中添加了自定义端口
127.0.0.1 testlocalhost.com
从该端口启动服务器(http不是https)时,我注意到Chrome禁止了Camera和Mic权限,并抛出了
getUserMedia() no longer works on insecure origins
从localhost
直接启动时,尽管仍然看到Your connection to this site is not secure
警告,但我可以更改这2个权限。
我想知道是否可以将自定义端口列入白名单。
谢谢!
(在Firefox中进行测试时,它仍然为我提供了更改“相机”和“麦克风”权限的选项。)
答案 0 :(得分:1)
简短答案为否-您无法使用代表它的IP地址绕过保存的单词localhost
。原因是Google Chrome使用实际的单词localhost
来检测开发调试,并允许通过HTTP使用getUserMedia
。所有其他地址,无论它们是否代表localhost
,都只能通过HTTPS或WSS使用getUserMedia
。
答案 1 :(得分:1)
在您必须拥有的错误消息中,有一个指向this page的链接,其中有一个关于Testing Powerful Features的段落,其中列举了一些选项,其中
- 您可以使用
--unsafely-treat-insecure-origin-as-secure="http://example.com"
标志运行chrome(将"example.com"
替换为您实际要测试的来源),这会将该来源视为此会话的安全。请注意,在Android和Chrome操作系统上,这要求设备具有root访问/开发模式。 (此标志在Chrome 63中已损坏,但在Chrome 64及更高版本中已得到修复。Prior to Chrome 62,还必须包含--user-data-dir=/test/only/profile/dir
才能创建新的测试配置文件以使该标志起作用。)
因此,您只需要从命令行启动带有标志--unsafely-treat-insecure-origin-as-secure="http://testlocalhost.com"
的Chrome
答案 2 :(得分:0)
就像上面的帖子一样,我可以在搜索栏中使用chrome://flags/
运行带有标记的chrome浏览器,搜索标记:insecure origins treated as secure
,启用它,并在其中添加自定义端口,用,
分隔