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

无法从Windows 11 Pro访问Linux虚拟机部署的Spring Boot REST API

解决Linux虚拟机Tomcat部署Spring Boot API跨Windows访问失败的问题

1. 先确认基础网络连通性

  • 在Windows cmd里执行 ping <Linux虚拟机IP>,如果ping不通,说明网络层面未连通:
    • 检查虚拟机网络模式:用NAT模式的话,需配置端口转发规则,将Tomcat的8080端口映射到宿主机同端口;用桥接模式的话,确保虚拟机和Windows处于同一网段,且虚拟机获取到有效IP。
    • 执行Linux命令 ip addr 确认网卡状态和IP是否正确。

2. 检查Linux系统防火墙/安全组

  • 能ping通但API访问失败,大概率是防火墙拦截了端口:
    • Ubuntu/Debian系(用ufw):
      • 查看当前规则:sudo ufw status
      • 开放8080端口:sudo ufw allow 8080/tcp
      • 重启防火墙生效:sudo ufw reload
    • CentOS/RHEL系(用firewalld):
      • 查看当前规则:sudo firewall-cmd --list-all
      • 开放8080端口并永久生效:sudo firewall-cmd --add-port=8080/tcp --permanent
      • 重启防火墙:sudo firewall-cmd --reload

3. 确认Tomcat的绑定地址

  • Tomcat默认可能仅绑定127.0.0.1,导致仅本地可访问:
    • 编辑Tomcat安装目录下的conf/server.xml,找到Connector节点:
      <Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443" />
      
    • 添加address="0.0.0.0",让Tomcat监听所有网卡:
      <Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443"
                 address="0.0.0.0" />
      
    • 重启Tomcat:sudo systemctl restart tomcat(service管理)或./bin/shutdown.sh && ./bin/startup.sh(手动启动)

4. 检查Spring Boot应用配置

  • 即便Tomcat绑定了0.0.0.0,Spring Boot自身也可能限制访问地址:
    • 检查应用的application.properties:确保server.address=0.0.0.0(不要设为localhost或127.0.0.1)
    • 检查应用的application.yml:
      server:
        address: 0.0.0.0
      
    • 重新打包部署应用,或重启Tomcat加载更新后的应用。

5. 验证端口监听状态

  • 在Linux上执行netstat -tulpn | grep 8080,确认8080端口由Tomcat的java进程监听,且监听地址为0.0.0.0而非127.0.0.1。
  • 若显示127.0.0.1:8080,回到步骤3或4排查配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:22:17