linux(Ubuntu)安装tomcat,启动正常,但是浏览器访问不了tomcat

时间:2024-04-12 15:50:21

问题描述:自己买了一个阿里云的服务,尝试自己在上面部署一个web项目。在安装好tomcat,启动成功后,本地通过浏览器验证tomcat是否正常时,浏览器一直无法访问,但后台启动日志中无异常信息。

 

如:我要访问的地址是:http://7.104.137.378:8989

 

排查步骤:

1、本地打开cmd,输入ping 7.104.137.378,该ip地址正常连接;

2、 查看防火墙是否已关闭:sudo ufw status,显示防火墙已关闭

3、查看端口8989是否正常监听:netstat -an | grep 8989,显示信息如下,表示该端口被正常监听。

tcp 0 0 0.0.0.0:8989 0.0.0.0:* LISTEN

 

排查了以上步骤,本地浏览器无法访问tomcat的原因并没有找到。

接下来就是关键了。。。。

在服务器上通过curl http://7.104.137.378:8989,命令,查看在服务器上是否能直接访问tomcat,发现访问不了。。。。

使用ifconfig命令,得到服务器的ip地址(170.71.173.166),然后再使用curl http://170.71.173.166:8989。

这个时候,奇怪的事情发生了,居然访问成功,但是这个ip 在我本地dos窗口是ping不通的。

 

登陆阿里云控制台,查看实例,发现7.104.137.378是公用ip,170.71.173.166是私有ip。我们想要在本地访问部署在服务器上的项目,应该是通过公共ip访问的。

那么,阿里云的公共ip为什么在本地能ping通,但是浏览器访问不了呢?

上网百度一番后,说是要配置阿里云的实例安全组,要配置我设置的8989端口,否则无论如何都访问不通的。

配置实例安全组步骤如下:

1、实例 -- 管理 -- 本实例安全组 -- 配置规则 -- 添加安全组规则

(安全则规则配置的时候,可参照”教我设置“中的说明)

 

2、设置防火墙,执行 ufw allow 8989/tcp命令,允许防火墙放过8989端口。

3、 查看8989口段是否正常被监听netstat -an | grep 8989

linux(Ubuntu)安装tomcat,启动正常,但是浏览器访问不了tomcat

这个时候浏览器就可以正常访问了。 

linux(Ubuntu)安装tomcat,启动正常,但是浏览器访问不了tomcat

 

ps :curl http://www.linux.com

由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站