为什么 Google Chrome 完全禁止服务器访问麦克风?

为什么 Google Chrome 完全禁止服务器访问麦克风?

我正在使用由 Python 脚本托管的服务器托管一个 html 文件。该 html 文件包含某种语音识别功能,因此需要麦克风。

我使用谷歌浏览器打开 html 文件。要访问 html 文件,我输入一个带有特定端口的 IP 地址(出于隐私原因未提及)。现在,出于某种原因,网站设置完全不允许我更改麦克风访问权限(见下面的屏幕截图)。有人知道发生这种情况的可能原因吗?

截屏

答案1

Chrome 会阻止非安全网站上的易受攻击的功能,包括摄像头、位置、麦克风等。自 2018 年 7 月起,随着 Chrome 68 的发布, Chrome 开始将所有 HTTP 网站标记为“不安全”

您有三个选项可以为您的网站解除对这些功能的阻止:

  • 通过设置将您的 URL(例如192.168.10.79)视为安全来源chrome://flags/#unsafely-treat-insecure-origin-as-secure。指定协议,例如http://192.168.10.79
  • 将您的网站地址转发到localhost,Chrome 将其视为安全来源。
  • 为服务器设置自签名证书。

相关内容