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

标签 rest tomcat spring-boot lan

我在 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/

相关文章:

jakarta-ee - 在最小的 tomcat 上运行完整的 Java EE 应用程序(不仅仅是 Webprofile)

java - 即使使用 jackson-datatype-jsr310,Instant 也无法序列化为适当的格式

java - Spring-Boot:错误注入(inject)多个bean

rest - PayPal REST API 支付状态的含义和原因

java - 将现有 REST API 部署到用 Java 编写的 AWS lambda

java - Eclipse Tomcat 8 服务器上的 Spring MVC 应用程序输出过多的 DEBUG 消息

linux - Apache Tomcat 的 startup.sh 中的符号

spring-boot - 需要为ElasticsearchRepository findBy查询编写自定义分析器

php - 在 Phalcon Response 中设置二进制数据

java - REST 的 4xx http 状态代码