【问题标题】:WebRTC, browser doesn't ask for permission to use camera and microphone - but locally it doesWebRTC,浏览器不请求使用摄像头和麦克风的权限-但在本地它确实如此
【发布时间】:2016-05-31 12:05:05
【问题描述】:

我正在测试https://codelabs.developers.google.com/codelabs/webrtc-web/#8,我的浏览器在本地请求使用摄像头和麦克风的权限 - 一切正常。

当我将代码上传到真实域上的服务器时,我的浏览器不请求权限,并且我从 getUserMedia() 收到错误,权限被拒绝。

如何防止这种情况发生?

我正在 Google Chrome 中进行测试,但希望该修复程序能够在 Chrome、Firefox 和 Opera 上运行(因为它们支持 WebRTC)。

【问题讨论】:

    标签: javascript html google-chrome webrtc


    【解决方案1】:

    您没有使用 HTTPS 吗?

    请记住,最新的酷玩具仅适用于从安全来源加载的网站。本地主机只是一个例外。

    如果您认为实现 HTTPS 令人头疼或成本高昂,请查看 Cloudlflare,0.00 美元的反向代理与免费 Comodo HTTPS 证书。

    或者试试这个免费的认证机构https://letsencrypt.org/

    一个月前,我在巴黎的一次安全会议上与该项目的幕后人员交谈,他解释说他们唯一不支持的是通配符证书。这对您来说应该不是问题。除非您想在内容交付网络中使用自己的域使用 HTTPS。

    关于浏览器兼容性,请查看此帖:

    https://community.letsencrypt.org/t/which-browsers-and-operating-systems-support-lets-encrypt/4394

    【讨论】:

    • 嗯,可以使用 http/node-static 轻松安装在 node.js 上运行的 https 并进行加密吗?
    • 好吧,我不会称它为“安装”......因为证书只是加密过程所需的文件,它允许您对消息进行签名。主要任务只是让证书对您的域有效。然后您可以配置您的节点服务器以使用该证书。就这样。但如果您需要帮助自动化大部分内容,请查看此链接:github.com/Daplie/letsencrypt-express
    【解决方案2】:

    如果您使用 HTTPS 协议,那么 Chrome 应该会记住您的首选。单击地址栏中的站点图标以更改当前首选项。

    【讨论】:

    • 它根本不要求权限——甚至一开始也不要求。我已经检查了异常设置等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 2014-12-09
    • 2020-10-25
    • 2021-04-06
    相关资源
    最近更新 更多