新购阿里云服务器后,应用一直都是通过Docker部署的(MySQL、Java应用etc.)。端口也是在阿里云安全组设定后映射到Docker内部后返回的。近期在学习一个项目,生成的Jar包直接放到了ECS服务器上并没有放到Docker中,在启动好应用后本机无法访问到ECS部署的应用。
排查过程如下:
1.ECS安全组是否开起
2.防火墙是否关闭
3.应用是否正常启动
上述三个过程排查都发现没问题。经过一夜的思量(瞎琢磨)后,找到了解决方法。
解决方法如下:
1.开启防火墙
systemctl start firewalld
2.查看所有端口信息是否存在
firewall-cmd --list-all
3.发现没有添加8888端口,添加
firewall-cmd --zone=public --add-port=8888/tcp -- permanent
# zone 作用域
# add-port 添加端口
# permanent 永久
4.重启防火墙
firewall-cmd --reload
重启后,再次访问【8888】端口,响应成功!
后记:
删除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
添加端口区间
firewall-cmd --zone=public --add-port=80-90/tcp --permanent