问题标签 [x-ipfs-path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
31 浏览

ipfs - 动态非 IPFS https 页面上引用的静态图像上的 IPFS X-Ipfs-Path 强制 localhost 网关通过 https 加载

我正在尝试利用 IPFS 在通过 http 协议加载的动态站点上加载静态内容,例如图像和 javascript 库。

例如https://www.example.com/是一个普通的 web 2.0 页面,这里有一个图片参考https://www.example.com/images/myimage.jpg

在 myimage.jpg 上发出请求时,将提供以下标头

然后由 IPFS Companion 浏览器插件将其翻译为:

问题在于,它已定向到本地 IP 上的 SSL 页面,由于协议错误而无法加载。(将上述内容从 https 更改为 http 有效)

现在,如果我直接从地址栏请求https://www.example.com/images/myimage.jpg ,它会加载以下内容:

然后是 301 到:

导致图像加载成功。

我假设因为初始页面是通过 SSL 提供的,所以它也希望通过 SSL 提供静态内容。我还假设这就是为什么它通过 https 使用本地 IP,而不是在另一条路由中使用 localhost。

我的问题是,我该如何让它工作?

  • 是否有一个标题可以让 IPFS 伴侣强制它通过 http 加载?如果是这样,我假设这会由于混合内容而导致浏览器安全警告。我尝试添加此标头但没有运气:X-Forwarded-Proto: http
  • 我是否需要做一些事情来启用 SSL over 127.0.0.1,将其与我的本地节点连接起来?如果是这样,这似乎不是客户的默认设置,并且担心如果他们不遵循一些额外的步骤,所有内容都会显示损坏的图像。
  • 甚至可以从非 IPFS 页面通过 IPFS 提供静态内容吗?

任何提示表示赞赏!

编辑:这似乎会影响 Chrome 引擎和 Firefox。