项目完成后部署在阿里云linux上,所有端口都是正常的
[root@iZ2zedijzcfg8mjxpsrlz0Z tran_port]# netstat -anp | grep LIST
tcp 0 0 0.0.0.0:843 0.0.0.0:* LISTEN 1494/javatcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1393/java
tcp 0 0 0.0.0.0:8787 0.0.0.0:* LISTEN 1463/java
tcp 0 0 0.0.0.0:8019 0.0.0.0:* LISTEN 1393/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1208/sshd
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 1417/java
tcp 0 0 127.0.0.1:8705 0.0.0.0:* LISTEN 1463/java
tcp 0 0 0.0.0.0:8709 0.0.0.0:* LISTEN 1463/java
tcp 0 0 127.0.0.1:8005
后测试时出现内网可以访问,但是通过外网无法方位。查询资料发linux下部分端口是对外不开放的需要在防火墙中重新设置。
但是阿里云linux版本是centos7 版本中并没有iptables 只有firewalld 。因此我们只需要在root用户下
先禁用防火墙:systemctl stop firewalld (虽然直接禁用防火墙也可以达到外网可以访问的目的,但不推荐使用)
添加新的端口到允许被开放的端口中:firewall-cmd --zone=dmz --add-port=8080/tcp
查看是否被添加成功:firewall-cmd --zone=dmz --list-ports
更新防火墙规则:
firewall-cmd --reload --permanent(加上--permanent 规则永久生效)
最后重启防火墙:systemctl start firewalld。至此项目可以通过外网正常访问了。
firewalld 的常见操做:
启动:systemctl start firewalld
查看状态:systemctl status firewalld
停止:systemctl disable firewalld
禁用:systemctl stop firewalld
更新防火墙规则:firewall-cmd --reload (动态更新不需要断开连接)
firewall-cmd --complete-reload
查询允许开放端口和添加端口:firewall-cmd --zone=dmz --list-ports(查看)
firewall-cmd --zone=dmz --add-port=8080/tcp(添加)
永久生效再加上 --permanent
添加服务:
# firewall-cmd --zone=work --add-service=smtp
移除服务
# firewall-cmd --zone=work --remove-service=smtp