【问题标题】:Connect browser to NodeJS IPFS node将浏览器连接到 NodeJS IPFS 节点
【发布时间】:2021-02-19 12:40:38
【问题描述】:

我正在尝试将浏览器 js-ipfs 节点连接到我的 NodeJS 服务器,该服务器也在运行 js-ipfs 节点。我知道我需要将服务器的Multiaddr 添加到浏览器的引导配置中才能连接两个节点。

但是,由于我的网站使用HTTPS,当我尝试通过ws 将浏览器连接到我的服务器时,它会发出以下警告:An insecure WebSocket connection may not be initiated from a page loaded over HTTPS. 但据我了解,NodeJS 的js-ipfs 无法收听wss 调用.

那么我该如何连接这两个节点呢?使用 WebSockets 是唯一的还是最好的方法?

【问题讨论】:

    标签: node.js websocket ipfs libp2p js-ipfs


    【解决方案1】:

    由于浏览器的安全政策,您无法从安全上下文(例如通过 HTTPS 加载的页面)建立未加密的连接。您可以在MDN Secure Context 阅读有关它的信息。所以你应该让你的服务器使用 SSL,然后用 wss:// 替换 ws://。最简单的做法是使用 nginx 设置 SSL。您还需要为证书设置一个域名。 您还可以在 PR 上查看有关如何使用 SSL 设置 libp2p/IPFS 的一些文档。

    您也可以使用 webrtc-star 代替 websockets。但是,虽然您可以同时使用这两种方法,但它们中的每一种都具有更适合某些场景的特殊性。如果您需要对等发现,此时应使用webrtc-star,您可以查看https://github.com/libp2p/js-libp2p/tree/master/examples/libp2p-in-the-browserhttps://github.com/ipfs/js-ipfs/tree/master/examples/browser-exchange-files。如果您不需要依赖对等点发现并且另一个对等点是众所周知的对等点,则可以使用引导程序并通过 websockets 进行连接。

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多