在局域网内让其他设备访问你在本地运行的 Spring Boot 应用,关键在于两点:让应用监听所有网卡(而非仅 localhost),以及确保网络防火墙/路由不拦截对应端口。下面按步骤来做:


1. 配置 Spring Boot 监听所有网卡

默认情况下,Spring Boot 会在 localhost(127.0.0.1)上启动,只能本机访问。要让它对局域网可见,你可以在 application.properties(或 application.yml)中添加:

# application.properties
server.address=0.0.0.0
# (可选)修改端口,默认是 8080
server.port=8080

或者在 application.yml 中:

server:
  address: 0.0.0.0
  port: 8080

这样启动后,Spring Boot 会在本机所有网络接口上都监听 8080 端口。


2. 确认你的机器在局域网中的 IP

  • Windows:打开命令行,运行 ipconfig,找到无线网卡/以太网卡下的 IPv4 地址,比如 192.168.1.100

  • macOS/Linux:在终端运行 ifconfigip addr,同样找到类似 en0eth0 的网卡对应地址。

记录下这个 IP。


3. 放行防火墙端口

  • Windows 防火墙

    1. 打开“Windows 安全中心”→“防火墙和网络保护”→“允许应用通过防火墙”。

    2. 点击“更改设置”,新增一条入站规则,端口填 8080(或你设置的端口),协议为 TCP,允许通信。

  • Linux(以 Ubuntu 为例)

    sudo ufw allow 8080/tcp
    sudo ufw reload
    
  • macOS(默认不开启软件防火墙,若开启需在“系统偏好设置”→“安全性与隐私”→“防火墙选项”中放行)


4. 启动应用并验证

# Maven
mvn spring-boot:run

# 或者打包后
java -jar target/your-app.jar

控制台会显示类似:

Tomcat started on port(s): 8080 (http) with context path ''

此时,你可以在同一局域网的另一台设备上,用浏览器或 Postman 访问:

http://192.168.1.100:8080/  或者  http://192.168.1.100:8080/your-endpoint

若能正常访问,则配置成功。


5. 额外提示

  • 使用固定 IP 或 DHCP 绑定:为了避免重启路由器后 IP 变化,可以在路由器管理页面为你的电脑分配一个固定的 DHCP 地址,或者手动在系统网络设置中指定静态 IP。

  • 域名/主机名访问:可在局域网 DNS(或各客户端的 hosts 文件)中映射主机名到 IP,访问时就能记住方便的名称:

    192.168.1.100   my-springboot.local
    

    然后:http://my-springboot.local:8080/

  • 跨子网/VLAN:若路由器做了子网隔离,确保间路由或交换机配置允许不同网段互访。


按照以上步骤, Spring Boot 应用就能被局域网内的其他设备访问了。若遇到连不上,再检查:

  1. 本机防火墙是否放行对应端口;

  2. 路由器或交换机是否有 ACL(访问控制)限制;

  3. 客户端设备与主机是否在同一物理网络或 VLAN 中。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐