1

许多现代 Web API 被浏览器限制为仅限 HTTPS。这对用户有好处,但会使开发变得痛苦。在开发过程中,我希望能够关闭该要求仅用于测试。

是否有我可以设置的标志(firefox 中的 about:config,chrome 中的 about:flags)或我可以传递的命令行参数以关闭该要求,这样我就可以测试而无需设置 https 证书并将它们添加到浏览器?

注意:我知道 localhost 的 https 要求已被删除,但我经常在一台机器(如笔记本电脑)上托管并在另一台机器(如 Android 设备)或不同的桌面上进行测试。我知道我可以生成本地证书并运行支持 https 的服务器。然后,我必须处理浏览器上的安全警告(无效证书)和/或将私有证书添加到所有设备,或者我必须注册一个域,仅用于通过 letencrypt 获取有效证书。对于我自己的开发人员,如果可能的话,我只想暂时关闭浏览器中的检查。当然,我实际为用户提供的服务将是 https,但在开发期间,如果我可以关闭该要求,事情会容易得多。

在我的特殊情况下,我正在尝试使用WebXR,因此开发发生在我的笔记本电脑上,但实际测试发生在从我的笔记本电脑提供页面的 Android 设备上。

4

2 回答 2

0

这里建议的一种解决方案是使用 Chrome 的端口转发

https://developers.google.com/web/tools/chrome-devtools/remote-debugging/local-server

这适用于 Chrome 桌面到 Android

在您的桌面上,您告诉桌面 chrome 在哪个端口将哪个站点转发到另一个端口的 android 设备。该站点可以是 Internet 上的服务器,也可以是在您的桌面上本地运行的服务器。然后,您可以在 android 设备上访问该站点http://localhost:<port-you-specified>。locahost 主机的 https 要求已被删除,因此您现在可以使用受限制的 API。

于 2020-01-02T17:40:59.360 回答
0

Chrome 在 chrome://flags/ 中有一个开发者设置不安全来源被视为安全,这是一个文本字段,您可以在其中添加被视为安全的来源列表以用于开发目的。(通过https://github.com/immersive-web/webxr/issues/60

在此处输入图像描述

于 2020-01-02T18:33:09.763 回答