V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
idealhs
V2EX  ›  问与答

如何在不用 https 的情况下使用 WebRTC?

  •  
  •   idealhs · 2022-01-24 11:14:37 +08:00 · 1751 次点击
    这是一个创建于 1036 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前在内网里面搭了一个 NextCloud ,想要使用基于 WebRTC 的 NextCloud Talk
    因为没有打算开放到公网上,所以协议走的一直都是 http ,也不打算用自签名证书。
    但是这就带来了一个问题:WebRTC 除了访问 localhost ,要求全部使用 https 。不然浏览器会阻止网页使用麦克风和摄像头。
    Google 后发现 Chrome 有一个 workaround ,就是在启动项里面配置一个--unsafely-treat-insecure-origin-as-secure 来忽略这个限制。虽然不完美但是确实可以用。
    想问问大家,Firefox 和 Chrome 中有没有什么地方可以配置这个东西,让我可以永久的忽视这个安全策略,通过 http 可以访问到麦克风和摄像头权限?
    谢谢各位彦祖

    9 条回复    2022-01-25 12:47:49 +08:00
    hhjuteman
        1
    hhjuteman  
       2022-01-24 11:25:16 +08:00   ❤️ 1
    除了你这个方法几乎没有了,这里的限制是加在 getUserMedia 这个函数上的。也许降级 Chrome 的版本到 46 之前有用?我不记得是不是 46 了。
    codehz
        2
    codehz  
       2022-01-24 12:30:36 +08:00 via Android   ❤️ 1
    Chrome 倒是可以在 flags 里改
    chrome://flags/#unsafely-treat-insecure-origin-as-secure
    idealhs
        3
    idealhs  
    OP
       2022-01-24 13:36:10 +08:00
    @hhjuteman @codehz 感谢老哥们,自己主力用 firefox ,希望 firefox 能有类似的设置方案就好了
    hronro
        4
    hronro  
       2022-01-24 14:34:29 +08:00   ❤️ 1
    还有个方法 ,在 localhost 上做端口转发,这样对浏览器就没有特定的要求了
    idealhs
        5
    idealhs  
    OP
       2022-01-24 15:35:37 +08:00
    @hronro 也是一个方案,感谢
    ysc3839
        6
    ysc3839  
       2022-01-24 21:26:31 +08:00 via Android
    用自签名证书,然后手动信任也是可以的。再者,申请一个受信任的证书也不麻烦
    idealhs
        7
    idealhs  
    OP
       2022-01-25 10:04:02 +08:00
    @ysc3839 申请证书是要域名的,我这是内网服务
    tuduweb
        8
    tuduweb  
       2022-01-25 10:50:14 +08:00   ❤️ 1
    自签名证书
    ysc3839
        9
    ysc3839  
       2022-01-25 12:47:49 +08:00 via Android   ❤️ 1
    @idealhs 有免费域名
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3041 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:18 · PVG 22:18 · LAX 06:18 · JFK 09:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.