Ionic应用执行ionic serve发起HTTP请求报ECONNREFUSED错误求助
问题根因定位
ECONNREFUSED 127.0.0.1:8561错误是Ionic本地开发服务发起的请求未正确指向后端服务,大概率是代理配置失效、开发服务端口冲突、接口地址硬编码错误导致的。
排查解决步骤
- 检查接口地址配置
确认代码中的API请求地址是否正确,是否存在调试时误改为8561端口的情况,若后端未运行在8561端口直接修正请求地址即可。
如果是通过相对地址发请求、走Ionic代理转发的逻辑,检查ionic.config.json中的代理配置是否被修改,参考配置示例:{ "name": "你的项目名", "app_id": "", "type": "ionic-angular", "integrations": {}, "proxies": [ { "path": "/api", "proxyUrl": "http://后端实际运行IP:端口/api" } ] } - 检查端口占用情况
确认8561端口是否被其他进程占用,或后端服务实际未运行在8561端口。Windows环境可执行netstat -ano | findstr 8561,Mac/Linux环境可执行lsof -i:8561查看端口对应的进程。
如果是Ionic开发服务默认端口冲突,可以启动时手动指定端口:ionic serve --port 8100 - 检查本地Host配置
确认本地hosts文件是否存在异常的回环地址绑定,导致请求被转发到错误端口。 - 旧版本兼容修复
你使用的Ionic CLI版本为6.17.0,但项目依赖的是ionic-angular 3.x(属于Ionic 3老版本),高版本CLI和老项目的代理逻辑存在兼容问题,可降级CLI到匹配版本:
重装依赖后重新执行npm uninstall -g ionic npm install -g ionic@3.20.1ionic serve测试即可。
临时绕过方案
如果暂时不想调整版本,也可以直接把请求地址改为后端服务的实际IP+端口,不使用相对路径走本地代理,同时关闭浏览器跨域限制即可正常测试。
内容的提问来源于stack exchange,提问作者levi
相关产品推荐
相关产品推荐

