connect-src 限制下 fetch 请求被拦截怎么办?

博主建云 阅读 25

我在项目里加了 CSP 的 connect-src 策略,只允许请求自家的 API 域名,但本地开发时用 fetch 调用 localhost:3001 的 mock 接口就被浏览器拦了。控制台报错:Refused to connect to ‘http://localhost:3001/api/data’ because it violates the CSP directive: connect-src ‘self’。

我试过在 meta 标签里加 localhost,但好像没生效。是不是写法不对?下面是我在 React 组件里发起请求的代码:

useEffect(() => {
  fetch('http://localhost:3001/api/data')
    .then(res => res.json())
    .then(data => setData(data))
    .catch(err => console.error(err));
}, []);
我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
甜雅 Dev
在开发环境的 HTML 头部加个 meta 标签: <meta http-equiv="Content-Security-Policy" content="connect-src 'self' http://localhost:3001"> 就行了。记得清理浏览器缓存再试。
点赞
2026-03-26 18:02