防火墙规范放行80 443 22建站端口,新手也能一次配对
网站部署完成后,域名解析正常却打不开页面,SSH 也连不上服务器,十有八九是防火墙没有规范放行 80、443、22 这三个建站常用端口。
本文面向零基础用户,讲清每个端口的作用、云平台安全组与系统防火墙的关系,并给出命令行和宝塔面板两种放行方法,照着操作即可避免端口被拦的问题。
先搞懂三个端口分别负责什么
80 端口:HTTP 网站访问端口,浏览器通过 http:// 访问站点时默认使用。
443 端口:HTTPS 加密访问端口,配置 SSL 证书后,浏览器通过 https:// 访问站点时默认使用。
22 端口:SSH 远程登录端口,用于通过终端连接服务器执行命令。
规范放行这三个端口,核心原则是:云平台安全组和服务器系统防火墙都要放行。
只改一处,另一处仍可能拦截流量,这也是新手最常踩的坑。
第一步:在云服务商控制台放行安全组端口
云服务器通常默认带安全组或防火墙策略,需要先在这里放行端口。
登录云厂商控制台,找到实例所在的安全组或防火墙规则,添加入站规则:
- 协议:TCP
- 端口:80,443,22(部分控制台支持一次性填写多个,也可分开添加)
- 来源:建议
0.0.0.0/0(表示允许所有 IP 访问,否则指定 IP 可能影响访客正常访问)
不同厂商入口名称略有差异,一般在“实例 -> 安全组”或“防火墙”菜单中修改。
如果只放行 80 和 443 而不放行 22,会导致本地 SSH 连不上服务器;
同理,只放行 22 却不开 80/443,网站也无法对外提供服务。
第二步:检查并放行系统防火墙端口
云控制台放行后,还需确认服务器系统防火墙没有拦截。
以 CentOS/Rocky 系常见的 firewalld 为例,执行以下命令:
# 查看当前防火墙放行的端口
firewall-cmd --list-ports
# 永久放行 80、443、22 端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=22/tcp
# 重新加载防火墙配置
firewall-cmd --reload
如果是 Ubuntu/Debian 使用的 ufw,则用:
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 22/tcp
ufw reload
如果系统根本没有启用防火墙,执行命令会出现提示,此时仅需确保云控制台安全组已放行即可。
宝塔面板用户:在这里放行端口更快
如果你用宝塔面板管理服务器,登录面板后依次点击 安全 -> 防火墙,在“放行端口”输入框中填写 80、443、22,协议选 TCP,点击提交。
端口不在列表时,手动添加后立即生效。
宝塔面板放行的端口最终会写入系统防火墙(firewalld 或 ufw),但云平台安全组仍需要单独放行。
别再问“宝塔放行了为什么网站还是打不开”,先去检查云控制台。
避坑指南:这些细节容易导致端口放行无效
1. 云控制台没放行,只改了系统防火墙
这是最常见的情况。云厂商的安全组位于系统防火墙外层,如果外层拦截,内层放行也没用。
2. 端口协议写错
HTTP/HTTPS/SSH 均为 TCP 协议。如果误写成 UDP,实际访问仍会失败。
3. 修改防火墙规则后没有重载
firewalld 或 ufw 的规则保存后,必须执行 reload 或 --reload 才生效。使用宝塔面板时,一般会自动加载,但命令行修改后别忘这一步。
4. 误删除默认放行规则
部分云厂商默认只放行 22 或 3389 端口,新增规则时不要误删原有规则,否则可能失去 SSH 连接。
验证端口是否真正放行
本地电脑分别执行以下命令,检查三个端口是否已经可以连通:
telnet 你的服务器IP 80
telnet 你的服务器IP 443
telnet 你的服务器IP 22
也可用 nc 命令:
nc -vz 你的服务器IP 80
nc -vz 你的服务器IP 443
nc -vz 你的服务器IP 22
返回 succeeded 或 Connected 即表示端口已放行。
若提示超时或拒绝连接,按顺序检查:云安全组 -> 系统防火墙 -> 服务端口是否监听(Web 服务、SSH 服务是否正常运行)。
另外,网站上线后,建议顺手验证一下 http://你的域名 和 https://你的域名 能否正常打开,并确认 22 端口能正常 SSH 登录。
如果域名已备案并解析,但 443 端口打不开,优先检查 SSL 证书是否部署正确,而不是反复折腾防火墙。
放行 80、443、22 这三个建站端口并不复杂,只要记住“云安全组 + 系统防火墙两层都要开,协议用 TCP,修改后重载”,绝大多数连接问题都能解决。
建议你收藏本文,配置新服务器时按步骤核对一遍,能少走很多弯路。