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

从Windows迁移至Mac的React项目加载失败:net::ERR_BLOCKED_BY_CLIENT与403 MongoDB错误排查

问题排查:React项目从Windows迁移到Mac后出现net::ERR_BLOCKED_BY_CLIENT和MongoDB 403错误

以下是几种可能的原因及对应的排查/解决方法:

  • 浏览器扩展拦截请求
    Mac上的广告拦截、隐私保护类浏览器扩展(如AdBlock、uBlock Origin)容易误判本地API请求为可疑请求,直接拦截导致net::ERR_BLOCKED_BY_CLIENT。Postman不受浏览器扩展限制,因此测试正常。
    解决:临时禁用所有浏览器扩展后刷新页面测试;或把localhost地址加入扩展的白名单。

  • Mac系统防火墙/隐私设置拦截
    Mac系统防火墙可能默认阻止了浏览器或后端服务的本地网络请求,隐私权限也可能限制浏览器访问本地资源,引发请求失败。
    解决:打开「系统设置」→「网络」→「防火墙」,确认允许浏览器和后端服务的网络访问;或临时关闭防火墙测试。

  • 代理配置未生效(Mac环境差异)
    虽然package.json中配置了代理,但Mac上的React开发服务器可能因环境差异未正确加载代理规则,导致浏览器直接发起跨域请求到MongoDB,触发CORS限制或后端返回403(请求来源不在允许列表)。
    解决:

    1. 确认package.json的代理格式正确,例如"proxy": "http://localhost:3001"(替换为你的后端端口)
    2. 彻底重启React开发服务器,确保配置生效
    3. 查看浏览器控制台「网络」标签,若请求直接指向MongoDB地址而非本地后端,说明代理失效,可改用http-proxy-middleware手动配置代理
  • hosts文件配置异常
    Windows和Mac的hosts文件路径不同(Mac为/etc/hosts),若Windows上曾修改hosts映射localhost,Mac未同步会导致请求解析错误,引发403。
    解决:打开终端执行sudo nano /etc/hosts,检查是否存在正确映射:

    127.0.0.1 localhost
    ::1 localhost
    

    若有错误映射,修改后保存退出。

  • 环境变量未同步
    Windows和Mac的环境变量配置逻辑不同,若后端的MongoDB连接字符串等敏感信息存于.env文件(通常被Git忽略),Mac上未重新配置会导致后端权限验证失败,返回403。
    解决:在Mac后端项目中创建.env文件,填入正确的MongoDB连接字符串、API密钥等信息,重启后端服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 08:55:13