解决已经在安全规则组中开放端口却还是无法访问项目的问题

发布于 2021-06-15  4746 次阅读


当项目部署到服务器后,相应的软件以及配置环境都已经安装完毕,但是在启动项目访问首页时候出错,由于已经在云服务器控制台中开启了相应的端口,但是还是访问失败,因此需要自己手动在服务器中开放端口。由于我的服务器使用的os是Ubuntu,所以这里就介绍一下ubuntu18.04下的方法。

2.8.1安装iptables

$ sudo apt-get install iptables

2.8.2添加规则

$ iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

中间的8080为所需要开放的端口

2.8.3保存规则

$ iptables-save

完成上述命令我们就完成了开放指定的端口,但是如果此时服务器重启,上述规则就没有了,所以我们需要对规则进行一下持续化操作

2.8.4持续化规则

这里我们需要在安装一下工具来帮我们实现,这里我们使用 iptables-persistent

2.8.4.1安装iptables-persistent
$ sudo apt-get install iptables-persistent
2.8.4.5持久化规则
$ sudo netfilter-persistent save
$ sudo netfilter-persistent reload

完成上述操作就可以永久打开我们需要的端口了

2.8.4.6关闭端口

首先我们要知道 这条规则的编号,每条规则都有一个编号

通过

 iptables -L -n --line-number 

可以显示规则和相对应的编号:

image-20210130023743901

多了 num 这一列, 这样我们就可以 看到刚才的8080规则对应的是 编号1

那么我们就可以进行关闭删除了:

iptables -D INPUT  1

删除INPUT链编号为2的规则。

再 iptables -L -n 查看一下 已经被清除了。

然后持久化一下规则:

$ sudo netfilter-persistent save
$ sudo netfilter-persistent reload

2.8.6重新访问项目

image-20210615212348003这时候访问项目成功,问题解决。


繁华落尽,雪花漫天飞舞。