【问题标题】:Turn off the https requirement for https gated web APIs in Chrome and Firefox关闭 Chrome 和 Firefox 中 https 门控 Web API 的 https 要求
【发布时间】:2020-04-20 08:00:58
【问题描述】:

Many modern Web APIs are gated by the browser to be HTTPS only。这对用户有好处,但会使开发变得痛苦。在开发过程中,我希望能够关闭该要求,仅用于测试。

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

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

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

【问题讨论】:

    标签: javascript google-chrome firefox https webxr


    【解决方案1】:

    here 建议的一个解决方案是使用 Chrome 的端口转发

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

    这适用于 Chrome 桌面到 Android

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

    【讨论】:

    • 这应该是您对问题的回答、评论还是对您问题的补充?
    • 它确实回答了这个问题,对 localhost 的 https 要求被删除,chrome 端口转发功能意味着您的 android 设备可以看到您的桌面 chrome 可以通过 android 设备上的 localhost 看到的服务器。还是想找个firefox的解决方案。
    【解决方案2】:

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

    【讨论】:

    • 我很困惑这有什么帮助。当我尝试使用 IP 地址时,它似乎不起作用。如果我使用域名,则需要我的 android 设备来查看该域名,这为本地服务的 Web 服务器增加了一堆障碍。还有更多吗?
    猜你喜欢
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    相关资源
    最近更新 更多