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

问题描述:自己买了一个阿里云的服务,尝试自己在上面部署一个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

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


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

猜你喜欢

转载自blog.csdn.net/weixin_35703883/article/details/80908983
今日推荐