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

拉取Git代码后启动项目出现Cross-Origin Request Blocked错误求助

问题场景
  • 开发者A基于web.sln打开ASP.NET Zero演示项目,推送代码至Git仓库后可正常运行Web应用
  • 开发者B、C拉取代码后运行,触发CORS错误:

"Cross-Origin Request Blocked: The Same-Origin Policy disallows reading the remote resource at https://localhost:5001/AbpUserConfiguration/GetAll?d=1681805995669. (Reason: CORS request failed). Status code: (null)."

已尝试但无效的操作:

  • 卸载第三方杀毒软件
  • 在services.AddCors()中添加.AllowAnyOrigin()

文件对比无差异,仅拉取代码后出现问题。

排查方向及解决方案

1. 本地开发配置文件未被Git同步

ASP.NET Zero默认会将launchSettings.json、appsettings.Development.json这类本地配置文件加入.gitignore,不会推送到仓库:

  • launchSettings.json:控制后端的启动端口、HTTPS配置
  • appsettings.Development.json:包含App:CorsOrigins等核心跨域配置

开发者A本地已配置好匹配前端的跨域源和端口,但这些配置未同步到Git,导致B、C拉取后使用默认配置,出现源/端口不匹配的CORS错误。

处理步骤:

  • 查看项目根目录的.gitignore,确认上述两个文件是否在忽略列表中
  • 若需共享开发配置,可从.gitignore中移除对应文件后重新推送;或创建appsettings.Development.Template.json模板文件,让B、C复制后修改为本地适配的配置
  • 让B、C检查appsettings.Development.json中的App:CorsOrigins项,确保包含前端实际运行的地址(例如"http://localhost:3000,https://localhost:3001")
  • 核对launchSettings.json中的后端端口,确保与前端请求的https://localhost:5001一致

2. 本地HTTPS证书未信任

开发者A已信任ASP.NET Core的开发HTTPS证书,但B、C拉取代码后未完成证书信任操作,导致浏览器因HTTPS连接失败间接触发CORS错误。

处理步骤:

  • B、C打开命令行,进入项目目录执行:
dotnet dev-certs https --trust
  • 执行完成后重启浏览器再测试

3. 前端API地址与后端端口不匹配

前端项目的环境配置中硬编码的后端API地址,与B、C本地运行的后端端口不一致(比如前端写死https://localhost:5001,但后端实际运行在5000),导致跨域请求失败。

处理步骤:

  • 检查前端项目的开发环境配置文件(如.env.development),确认API地址与后端实际运行端口一致
  • 若后端使用随机端口,修改launchSettings.json固定后端端口为5001

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:52:27