如何在 IPFS 上进行跨域请求
How to do cross-origin requests on IPFS
所以我想在 ipfs 上放置一个网站,但是它有一些 javascript 调用了一个不是 ipfs 网关的服务器,所以我得到了跨源错误。知道怎么做吗?
您可以使用 ipfs config
:
设置 Access-Control-Allow-Origin
header 和其他 header
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["GET", "POST"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Headers '["Authorization"]'
ipfs config --json API.HTTPHeaders.Access-Control-Expose-Headers '["Location"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
以上数值仅为示例;将实际值设置为您的客户端代码实际需要的值。
https://docs.ipfs.io/reference/api/cli/#ipfs-daemon 有这方面的(最少)现有文档。
答案中的语法在 2021-03-19 对我不起作用。
幸运的是,browser-ipns-publish 有一个例子。那里使用的语法是
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"
不确定这是否是因为 运行 在 Windows 上,但它在我的 (TM) 上有效。
所以我想在 ipfs 上放置一个网站,但是它有一些 javascript 调用了一个不是 ipfs 网关的服务器,所以我得到了跨源错误。知道怎么做吗?
您可以使用 ipfs config
:
Access-Control-Allow-Origin
header 和其他 header
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["GET", "POST"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Headers '["Authorization"]'
ipfs config --json API.HTTPHeaders.Access-Control-Expose-Headers '["Location"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
以上数值仅为示例;将实际值设置为您的客户端代码实际需要的值。
https://docs.ipfs.io/reference/api/cli/#ipfs-daemon 有这方面的(最少)现有文档。
答案中的语法在 2021-03-19 对我不起作用。 幸运的是,browser-ipns-publish 有一个例子。那里使用的语法是
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"
不确定这是否是因为 运行 在 Windows 上,但它在我的 (TM) 上有效。