解决 centos 7 部署 tomcat 后外部不能访问应用(端口、防火墙)
问题背景
在 centos 部署了 tomcat 服务后,启动成功,通过浏览器访问应用时没有响应;
后发现能 ping 通 centos 机器的 ip,分析后得知防火墙未配置 tomcat 服务的端口;
配置后,通过浏览器成功访问。
解决问题
1、查看默认防火墙状态
firewall-cmd --state
这里显示未运行
2、检查防火墙的状态
systemctl list-unit-files|grep firewalld.service
这里显示 masked(如果显示 disabled,跳过本步骤)。
取消 masked 状态
systemctl unmask firewalld
再次检查防火墙状态,这里显示为 disabled
3、开启防火墙
systemctl start firewalld.service
4、添加开放的端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
(永久的添加该端口。去掉--permanent则表示临时。)
5、重新加载
firewall-cmd --reload
6、查看开放的端口
firewall-cmd --list-ports
这里 tomcat 服务的端口已经添加成功,外部访问8080端口可以成功
7、附其他命令
#启动一个服务
systemctl start firewalld.service
#关闭一个服务
systemctl stop firewalld.service
#将防火墙服务设置为开机自启动
systemctl enable firewalld.service
#关闭开机自动启动
systemctl disable firewalld.service
#查看端口
firewall-cmd --zone= public --query-port=80/tcp
#删除端口
firewall-cmd --zone= public --remove-port=80/tcp --permanent
8、参考
作者:cool_summer_moon
原文:https://blog.csdn.net/cool_summer_moon/article/details/78744009
作者:chen_yi_ping
原文:https://blog.csdn.net/chen_yi_ping/article/details/76690704