我在 spring boot 应用程序中创建了一些 rest API。通过在 cmd 中运行“ipconfig”命令,我获得了我的 ip,并能够使用以下 URL 从我的计算机访问 API:http://192.168.0.4:8080/topics
。
但是当我尝试从另一台计算机的浏览器访问它时,它没有发生。浏览器需要很长时间,然后显示“响应时间太长”。仅供引用,两台计算机都连接到同一个 wifi。我们正在使用我家本地互联网提供商提供的互联网。 Servlet容器是Spring boot应用提供的嵌入式Tomcat服务器。
请建议如何让同一网络中的其他计算机访问我的 API。 如果您需要更多信息,请告诉我。
我在点击此 URL 时检查了本地计算机的防火墙日志文件。我得到以下日志:
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
最佳答案
我也遇到了这个问题,发现是防火墙和 wi-fi 网络属性引起的。
- 就我而言,我想从同一网络的另一台计算机连接到 Spring Boot 应用程序。
- 它适用于旧版本的 Spring Boot + Java(2.1.7 和 1.8),但不适用于新版本(Spring Boot 2.4.1 + Java 15)。
- 问题是防火墙入站规则中只允许在专用网络上使用较新的 Java 版本,而我的 wi-fi 设置为公共(public)。
- (公共(public)网络允许使用较旧的 Java 版本,这就是它可以工作的原因)。
因此,我的问题的解决方法是将 Wi-Fi 网络从公共(public)更改为私有(private)。小心,这样做可能会破坏其他东西。
关于rest - 无法从同一网络中的另一台计算机访问在我的计算机中运行的 SPRING BOOT 应用程序的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46865531/