Tomcat启动后外部浏览器无法访问 CentOS7

一、问题现象

CentOS7操作系统下,已经部署并启动Tomcat,Tomcat可见。但使用其他PC的浏览器访问不了Tomcat。

二、分析原因


此问题的主要原因在于CentOS操作系统有防火墙。防火墙的存在,会导致端口无法被外部访问。
想要解决这一问题,就是要在防火墙上添加允许访问的端口号,使端口号对外开放。 CentOS7以下默认防火墙是iptables,CentOS7及以上版本的默认防火墙是firewalld。因此,
CentOS7需要在firewalld的上添加Tomcat的端口号。
  备注:

       执行命令,即可实现取防火墙服务的锁定
       systemctl unmask firewalld

       需锁定该服务时可输入以下命令行执行
         systemctl mask firewalld

三、解决方案

1、检查防火墙状态
# firewall-cmd --state
1
返回值为“running”,即防火墙运行。

若无返回信息,则防火墙为关闭状态,启动防火墙的命令如下:
# systemctl start firewalld 
1
2、检查防火墙上开启的端口信息
# firewall-cmd --permanent --zone=public --list-ports
1
返回信息为空,说明当前防火墙未开启任何端口。


3、开启Tomcat的端口
上一步返回信息为空,这里将Tomcat的端口添加到防火墙中。

命令解析:
--zone #做用域
--add-port=8080/tcp #添加端口,格式为:端口/通信协议
--permanent #永久生效,没有此参数设置,重启后会失效。

参数permanent,表示永久的添加此端口。若命令中未添加此参数,表示临时性添加端口,系统重启后将此设置失效。

# firewall-cmd --zone=public --add-port=8080/tcp --permanent
14、重新加载防火墙设置
重新加载防火墙设置,使配置生效。这一步不做,浏览器还是访问不了Tomcat。

# firewall-cmd --reload
1
5、验证Tomcat配置是否生效
# firewall-cmd --zone=public --query-port=8080/tcp
1
返回“yes”,表示配置生效。

也可以通过下面命令验证。

# firewall-cmd --permanent --zone=public --list-ports 

firewall-cmd --list-port
1 有对应的端口信息返回,表示配置生效。

 

 

posted @ 2022-06-02 15:01  O波V步  阅读(705)  评论(0编辑  收藏  举报