Spring 从外部启动和 tomcat 访问

Spring Boot and tomcat access from outside

几天来,我一直试图通过在 Whosebug 和其他网站上搜索来解决这个问题,但我找不到。

我目前有一个 spring 引导应用程序在服务器上转换为 jar 运行。通过使用直接集成到我的 spring 启动应用程序中的 tomcat,可以使用端口 8080 上的本地主机通过浏览器访问此应用程序。

问题如下:

我们会在这里告诉我的服务器的IP地址是123.45.69.894

如果我输入:

localhost:8080/mypath

或者如果我输入:

123.45.69.894:8080/mypath

在服务器的浏览器中。当我发出请求时,我在控制台中出现了这个:

2022-05-21 08:23:26.094  INFO 7536 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-21 08:23:26.094  INFO 7536 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2022-05-21 08:23:26.109  INFO 7536 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 15 ms

一切正常。

但是如果我输入,

123.45.69.894:8080/mypath

在另一台计算机的浏览器中它不再工作,我有一个连接超时错误,控制台中没有任何显示。

我已经检查过是不是防火墙没有屏蔽8080端口,但是没有问题。

我在80端口也有一个IIS网站,问题出在哪里?

例如,我已经看过这些文章,但这对我不起作用:

Apache Tomcat not accessible from outside

有谁知道问题出在哪里以及如何解决?

从远程计算机尝试 ping 您的 IP 地址。如果超时,机器之间肯定存在防火墙问题。 如果 ping 正常,请尝试 telnet IP 端口。如果在 Windows 上,您可能需要从 setup/applications 启用 telnet。如果 telnet 连接,则 在您点击 cntrl 方括号之前不会有任何动作。如果可行,那么一切都应该正常。