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

无法访问GCP计算实例8080端口的SpringBoot应用如何排查

GCP计算实例8080端口SpringBoot服务公网访问不通排查

ECONNREFUSED错误的核心原因是目标端口没有正常接收公网请求,和浏览器提示无法访问的表现完全匹配,按以下顺序逐一排查即可:

  • 首先确认SpringBoot的监听配置
    SpringBoot默认可能绑定本地回环地址127.0.0.1,这种情况仅实例内部能访问,公网请求会被直接拒绝。登录实例执行命令ss -tulpn | grep 8080查看监听状态:

    如果返回结果的Local Address字段为127.0.0.1:8080,即可确认是绑定地址错误。
    修复方式:在SpringBoot配置文件中添加监听0.0.0.0的配置:
    若使用application.properties,添加:

    server.address=0.0.0.0
    server.port=8080
    
    若使用application.yml,添加:
    server:
      address: 0.0.0.0
      port: 8080
    
    重启应用后再次执行上述ss命令,确认Local Address显示为0.0.0.0:8080或:::8080再做后续测试。
  • 核对GCP VPC防火墙规则的生效逻辑
    仅配置开放8080端口不足以保证规则生效,必须确认三个配置项:
    • 规则基础配置:方向为入站,动作为允许,协议端口配置为tcp:8080,不要误配为UDP或其他端口
    • 目标匹配配置:规则的目标范围正确覆盖当前实例:如果规则选择指定目标标签,必须给对应计算实例添加匹配的网络标签,规则才会对该实例生效;若规则目标为VPC内所有实例可跳过此检查
    • 来源范围配置:规则的来源IP范围配置正确:如果需要公网任意IP访问,来源段必须填写0.0.0.0/0,若仅允许指定IP访问需确认客户端出口IP在允许范围内
  • 检查实例操作系统层面的防火墙拦截
    GCP VPC防火墙是网络层面的管控,实例内部的系统防火墙默认也会拦截未放行的端口:
    • Debian/Ubuntu系列系统:执行ufw status查看防火墙状态,若为启用状态,执行ufw allow 8080/tcp放行端口
    • CentOS/RHEL系列系统:执行firewall-cmd --list-ports查看已放行端口,若没有8080/tcp,执行firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload加载规则
  • 连通性校验顺序
    先在实例本地执行curl http://127.0.0.1:8080/myservice,确认应用本身能正常返回响应,排除应用启动失败、路径配置错误的问题;本地验证通过后,再通过公网IP访问测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:09:19