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

Angular前端调用Spring后端出现ERR_CONNECTION_REFUSED问题求助

跨机访问Angular+Spring应用时后端请求失败的排查方向
  • 前端API地址硬编码为localhost
    开发阶段很多人会把后端地址直接写死成http://localhost:8080/api,部署到测试服务器后,前端代码里的这个地址没改。当你从开发机浏览器访问测试服务器的前端时,浏览器是从你的本地发起请求,自然会去连你自己电脑的localhost,而不是测试服务器的。
    解决:把API请求改成相对路径(比如直接用/api),这样请求会自动继承当前页面的域名和端口,也就是测试服务器的地址。

  • Angular环境配置未切换到生产环境
    Angular的environment.ts(开发环境)和environment.prod.ts(生产环境)是分开的,如果打包时没指定生产环境配置,用的还是开发环境里的localhost地址。
    解决:打包时执行ng build --configuration=production,确保用的是生产环境配置文件,里面把API地址改成相对路径或者测试服务器的实际地址。

  • 打包时未设置正确的base-href
    如果你的前端部署在Tomcat的/myapp子路径下,但打包时没加--base-href /myapp/参数,前端的相对路径解析会出错,可能导致请求误指向localhost。
    解决:重新打包,加上ng build --configuration=production --base-href /myapp/,确保所有相对路径都基于部署的子路径。

  • 浏览器缓存了旧的前端代码
    开发机的浏览器可能缓存了之前开发环境的前端资源,里面的API地址还是localhost,即使你部署了新的代码,浏览器还是用旧的。
    解决:按Ctrl+Shift+R强制刷新页面,或者直接清除浏览器缓存后再访问测试服务器的应用。

  • 开发用的代理配置残留
    开发时可能用了Angular的proxy.conf.json来转发请求到localhost:8080,如果打包时没移除相关配置,或者不小心把代理逻辑打包进了生产代码,就会导致请求还是指向localhost。
    解决:部署前确认移除开发用的代理配置,前端请求直接用相对路径调用后端接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:04:52