You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求Infura IPFS资源遭CORS策略拦截问题求助

解决Infura IPFS的CORS跨域问题

Access to XMLHttpRequest at 'https://infura-ipfs.io/ipfs/Qmdet.....pE1A' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

前端手动添加请求头解决不了这个问题——CORS是服务器端控制的规则,只有目标服务器返回Access-Control-Allow-Origin响应头,跨域请求才能正常通过,前端单方面修改请求头无效。

试试这几个可行方案:

  • 改用Infura官方API接口:直接访问https://infura-ipfs.io/ipfs/xxx的节点地址未配置CORS,换成Infura标准API格式请求:https://ipfs.infura.io/v0/cat?arg=Qmdet.....pE1A,这个接口默认支持跨域访问。
  • 搭建本地反向代理:用Node.js写个简单的代理服务器,转发请求到Infura并添加CORS头。示例代码:
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();

app.use('/ipfs', createProxyMiddleware({
  target: 'https://infura-ipfs.io',
  changeOrigin: true,
  onProxyRes: (proxyRes) => {
    proxyRes.headers['Access-Control-Allow-Origin'] = '*';
  }
}));

app.listen(4000, () => console.log('代理服务运行在4000端口'));

之后前端请求http://localhost:4000/ipfs/Qmdet.....pE1A即可绕过跨域限制。

  • 检查Infura项目配置:确认你的Infura项目已正确开启IPFS服务,部分权限配置异常也可能导致响应头缺失。

内容的提问来源于stack exchange,提问作者snicky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 17:52:40