防火墙放行建站标准80 443 22端口完整规范配置
为什么必须放行80、443、22端口
建站时,服务器默认只能通过内网或特定端口通信。
要让用户通过浏览器访问你的网站,必须放行以下三个标准端口:
- 80(HTTP):普通网页访问端口。不放行,别人打不开你的站点。
- 443(HTTPS):加密网页访问端口。不放行,SSL证书无法生效,浏览器会报不安全。
- 22(SSH):远程管理端口。不放行,你就无法用终端登录服务器维护。
很多新手只开了端口但配置错误,导致网站仍然无法访问。
下面从准备到验证,一步步教你在不同环境下规范放行。
准备工作:确认防火墙类型和云平台安全组
在操作前,你需要知道自己服务器的环境:
- 查看系统防火墙工具(以Linux为例)
- CentOS/RHEL 7+:
firewalld(推荐) - Ubuntu/Debian:
ufw或iptables - 宝塔面板等Web主机面板自带防火墙模块
- 云平台安全组(阿里云、腾讯云、华为云等)
- 即使系统防火墙放行了端口,云平台的安全组(也叫“网络ACL”)也有可能拦截,必须同时配置。
进入云控制台,找到实例的“安全组”或“网络与安全”功能,准备添加规则。
核心操作:分环境放行三个端口
场景一:云平台安全组放行(必须优先做)
- 登录云厂商控制台,进入对应实例的安全组配置页。
- 点击“添加安全组规则”:
- 方向:入方向(Inbound)
- 协议:TCP
- 端口范围:单独添加三条规则——
80/80、443/443、22/22 - 授权对象:
0.0.0.0/0(表示全网可访问,建站必须这样做) - 策略:允许
- 保存生效。注意:22端口若担心暴力破解,可改为自定义高端口,但这里以标准配置演示。
场景二:系统防火墙(firewalld)放行
适用于CentOS 7+、Rocky Linux等:
# 永久放行80端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 永久放行443端口
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
# 永久放行22端口(如果之前没放行)
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
# 重新加载防火墙使规则生效
sudo firewall-cmd --reload
# 验证已放行的端口
sudo firewall-cmd --zone=public --list-ports
如果输出中出现 80/tcp 443/tcp 22/tcp,说明添加成功。
场景三:宝塔面板防火墙放行
如果你用的是宝塔面板(BT),操作更直观:
- 登录宝塔面板后台 → 左侧“安全”菜单。
- 在“防火墙”标签页找到“添加端口规则”。
- 依次添加三条规则:
- 端口:
80,协议:TCP,备注:HTTP - 端口:
443,协议:TCP,备注:HTTPS - 端口:
22,协议:TCP,备注:SSH
- 点击提交后,状态显示“已放行”即可。
避坑指南:放行后仍无法访问怎么办
出现“网站无法打开”“连接超时”时,按以下顺序排查:
- 检查服务是否运行
- Web服务(Nginx/Apache)没启动,端口放行也没用。命令:
systemctl status nginx或netstat -tlnp | grep :80
- 云平台安全组未生效(最常忽略)
- 先确认是否在安全组里添加了规则,并且规则优先级正确(允许 > 拒绝)。
- 本地测试端口是否通
- 在服务器本机用
curl -I http://localhost测试。能返回HTTP头说明服务正常。 - 从外部用
telnet 你的服务器IP 80测试,如果卡住或失败,说明防火墙或安全组仍拦截。
- 端口被其他程序占用
- 运行
ss -tlnp | grep -E ':(80|443|22) '查看哪个进程绑定了端口,80端口有时会被系统保留或占用。
- SELinux 干扰(少见)
- 部分CentOS系统默认启用SELinux,会导致Nginx无法绑定端口。临时关闭测试:
setenforce 0,然后重启服务看是否恢复。
效果验证:三步确认全部放行
- 浏览器访问:直接输入
http://你的IP或https://你的IP,如果能显示网站内容(未备案可能导致域名被拦截,但IP直连应能访问默认页),说明80/443放行。 - 在线端口扫描工具:用“站长工具”或“PortChecker”输入你的IP和端口80/443/22,显示“开放”即为成功。
- SSH连接测试:从另一台电脑用
ssh 用户名@你的IP连接,如果能成功登录,说明22端口放行。
完成以上步骤后,你的服务器就具备了建站必备的网络条件。
如果你在实际操作中遇到其他异常(比如只放行了80但443不通),优先检查云平台安全组是否添加了443规则,再检查系统防火墙是否同时放行。
防火墙配置虽简单,但遗漏任何一环都可能让你排查半天,所以按顺序执行一遍最为稳妥。