最近有个web项目需要部署到国外的一台服务器,按照惯例安装好Apache之后,通过ip却无法访问到Apache的默认”It works!”的页面,但是用命令curl访问http://localhost之后却能正常显示”It works!”页面的html代码。于是乎想到防火墙,查了一下防火墙只授权ssh远程连接的22端口。之前公司的同事教我用setup图形界面操作了一下增删防火墙端口,但是由于服务器在国外,延迟高,切换tab键都很费力,那还是改用命令号来操作吧。上网查资料说centos7版本以后是用firewalld取代了iptables。以下是具体的步骤:
1.停用iptables
# systemctl stop iptables.service
2.启动 firewalld
# systemctl start firewalld.service
报错了,显示这个
Failed to start firewalld.service: Unit firewalld.service is masked.
3.unmask firewalld
# systemctl unmask firewalld.service
4.启动 firewalld.service
# systemctl start firewalld.service
5.上一步没有什么信息输出就说明启动firewalld成功了,接着把 80 端口添加到防火墙开放端口中
# firewall-cmd --permanent --zone=public --add-port=80/tcp
6.重启一遍 firewalld 服务
# systemctl restart firewalld.service
7.检查更改是否生效,如果有输出80端口的信息就说明成功了
# firewall-cmd --zone=public --query-port=80/tcp
8.再次通过浏览器访问ip,出现Apache的“It works!”页面