代码之家  ›  专栏  ›  技术社区  ›  Nerdy Bunz

如何在本地测试包含需要安全上下文的类的javascript

  •  -1
  • Nerdy Bunz  · 技术社区  · 9 月前

    编辑:看起来我做出了一个错误的假设,即我的代码不起作用的原因(我得到了 AudioWorkletProcessor 未定义)是因为上下文不安全。。。但我会把这个问题留到一边,因为一般的问题和答案仍然有用)。

    在Mac上,我试图测试一些涉及以下内容的网站javascript 音频处理器 .

    显然,此类“仅在安全上下文中可用”

    我假设这意味着运行包含它的javascript的浏览器必须相信它是安全的(https),并且有有效的证书。

    我正在使用firebase服务进行测试,该服务使该网站在localhost:5000上可用,但它不使用或提供https。

    据我所知,我的选择是:

    1. 使用ngrok创建到localhost:5000的https隧道
      不能,因为这是一个付费功能,我不想谈这个。

    2. 像这样使用http服务器:
      openssl请求-节点-新-x509-密钥输出服务器.key-out服务器.cert
      http服务器-S-C服务器.cert-K服务器.key-p 5000/公众的

    …但这不起作用,因为证书无效,所以我们需要将坏证书添加到我的密钥链中,我也不喜欢。

    是否有其他方法来测试使用需要安全上下文的类的javascript?也许是某种假冒/测试浏览器??

    谢谢。

    2 回复  |  直到 9 月前
        1
  •  3
  •   Kaiido    9 月前

    https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts

    本地交付的资源,如 http://127.0.0.1 URL, http://localhost http://*.localhost URL(例如。 http://dev.whatever.localhost/ ),以及 file:// URL也被认为是安全传递的。

    您可以通过以下方式进行验证 window.isSecureContext 财产。

        2
  •  -3
  •   HoangHieu    9 月前

    Cloudflare提供免费隧道。你可以试试。