无法从同一网络中的另一台计算机访问我的计算机中运行的SPRING BOOT应用程序的REST API

时间:2017-10-21 16:39:05

标签: rest tomcat spring-boot lan

我在spring启动应用程序中创建了一些rest API。通过在cmd中运行“ipconfig”命令,我获得了我的IP并能够使用以下URL从我的计算机访问API:http://192.168.0.4:8080/topics

但是当我尝试从另一台计算机的浏览器访问它时,它没有发生。浏览器需要很长时间,之后显示“花了太长时间才能响应”。仅供参考,这两台计算机都连接到同一个wifi。我们正在家里使用当地互联网提供商提供的互联网。 Servlet容器是Spring启动应用程序提供的嵌入式Tomcat服务器。

请建议我的API如何被同一网络中的其他计算机访问。 如果您需要更多信息,请与我们联系。

我在点击此网址时检查了本地计算机的防火墙日志文件。我收到了以下日志:

2017-10-21 22:33:54 DROP TCP 192.168.0.5 192.168.0.4 57405 8080 60 S 
2319032371 0 65535 - - - RECEIVE
2017-10-21 22:33:54 DROP TCP 192.168.0.5 192.168.0.4 57406 8080 60 S 
2870949788 0 65535 - - - RECEIVE
2017-10-21 22:33:54 DROP TCP 192.168.0.5 192.168.0.4 57407 8080 60 S 
2073270052 0 65535 - - - RECEIVE

2 个答案:

答案 0 :(得分:0)

我也遇到了这个问题,发现是防火墙和 wi-fi 网络属性引起的。

  • 就我而言,我想从同一网络的另一台计算机连接到 Spring Boot 应用。
  • 它适用于较旧版本的 Spring Boot + Java(2.1.7 和 1.8),但不适用于较新版本(Spring Boot 2.4.1 + Java 15)。
  • 问题是在防火墙入站规则中仅允许在专用网络上使用较新的 Java 版本,并且我的 wi-fi 设置为公共。
  • (旧的 Java 版本允许在公共网络上使用,这就是它可以工作的原因)。

因此,解决我的问题的方法是将 Wi-Fi 网络从公共更改为私有。小心,这样做可能会破坏其他东西。

答案 1 :(得分:-1)

在Windows防火墙中添加新规则,它将起作用