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

Java Spring Boot远程连localhost被拒,换公网IP正常求排查

连接失败原因分析与解决

核心原因:localhost的指向与连接目标不匹配

远程主机上的localhost(对应IP 127.0.0.1)是本地回环地址,仅指向运行Java应用的远程主机本身。当你执行new Socket("localhost", port)时,Java应用会尝试连接远程主机自己的port端口,但这个端口并没有运行你的C应用——你的C应用是在另一台独立机器上的,所以必然出现Connection refused错误。

而使用公网IP时,连接请求会正确发送到C++应用所在的机器,所以能成功建立连接。

验证与补充排查

  • 在远程主机上执行命令 telnet localhost port,会得到和Java应用一样的连接拒绝提示;执行telnet 公网IP port则能正常连通,可直接验证上述结论。
  • 确认C应用的监听配置:如果C应用所在机器同时运行其他服务,可检查其监听地址是否为0.0.0.0(允许所有网卡接收连接),不过从你用公网IP能正常连接来看,这一点大概率没问题。

解决方案

将Java代码中的连接地址替换为C++应用所在机器的实际可访问地址:

  • 如果Java应用和C++应用处于同一局域网,使用局域网IP;
  • 如果跨公网访问,使用公网IP或已配置的域名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:42:33