防火墙放行建站标准80 443 22端口规范详解与实操
建站时最常用的端口是 80(HTTP)、443(HTTPS)和 22(SSH),但很多新手只在云控制台放行端口,忽略了服务器系统自带的防火墙,结果网站依然打不开。
本文按标准规范讲清楚放行这三个端口的完整流程,包括云平台安全组、Linux 系统防火墙、常见坑点和验证方法,让你照着操作就能解决端口不通的问题。
先分清三个端口的用途
放行端口前,先确认你确实需要哪些端口,避免越放越乱。
- 80 端口:HTTP 网站访问端口。用户在浏览器输入域名时默认请求这个端口。
- 443 端口:HTTPS 加密访问端口。网站配置 SSL 证书后必须放行。
- 22 端口:SSH 远程管理端口。用于登录服务器执行命令,只要你还想远程管理服务器,就不能把它关掉。
如果你还用到 FTP(20/21)、数据库远程连接(3306)等端口,建议先关闭或限 IP,不要和图省事全部放行。
标准做法是:先明确业务需求,再按需放行,端口放得越少越安全。
云平台安全组先放行,否则系统防火墙白配
现在购买的云服务器基本都带安全组规则,它在系统防火墙之前拦截流量。
很多用户只改系统防火墙,忘了安全组,最终效果为零。
登录云服务器控制台,找到实例对应的安全组,添加入方向规则:
- 协议:TCP
- 端口:80/443/22,或分别设置三条规则
- 来源:建议先设为 0.0.0.0/0 确保公网可访问,后续再收紧
不同平台按钮名称不同,常见位置是“安全组 -> 配置规则 -> 入方向规则 -> 添加”。
设置完成后,可以先跳过系统防火墙,用下方命令测试端口是否已经通了;
如果还不通,就继续配置系统防火墙。
系统防火墙按标准命令放行
云平台安全组放行后,还要确认服务器系统内的防火墙没有拦截。
最常用的是 firewalld(CentOS/Rocky)和 ufw(Ubuntu/Debian)。
firewalld 放行命令
逐个放行 80、443、22:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
如果服务名称不识别,可以直接指定端口:
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
查看放行结果:
firewall-cmd --list-all
ufw 放行命令
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 22/tcp
ufw reload
确认状态:
ufw status verbose
注意:如果你用宝塔面板,通常在“安全”菜单里也会显示系统防火墙端口列表,但底层执行的还是上面这些规则。
面板上看到端口已放行,不代表云安全组也放行了,两边都要查。
放行流程里最容易踩的坑
这里整理几个新手高频翻车点,提前避开能省很多时间。
- 只放行一次,不分安全组和系统防火墙:两个层面必须同时放行,缺一处都不通。建议先配安全组,再配系统防火墙,最后统一验证。
- 误改 22 端口导致 SSH 掉线:如果修改 SSH 默认端口,必须先在系统防火墙和安全组里放行新端口,再重启 sshd 服务,否则远程连接会直接断开。
- 以为放行就是关闭防火墙:不要把防火墙整个关掉来“放行端口”,这样会把所有端口暴露到公网,非常危险。正确的做法是只放行必要端口。
- 验证时只测本机:在服务器上测试端口,绕过了公网链路,不能代表公网能访问。一定要用另一台机器或手机流量去测。
用命令和浏览器做最终验证
配置完成后,建议按下面顺序逐项确认。
首先,在服务器本机检查端口监听状态:
ss -lntp | grep -E ':(80|443|22)\b'
如果看到 LISTEN 状态,说明对应服务正在监听。
接着在本地电脑用命令行测试远程端口:
telnet 服务器公网IP 80
telnet 服务器公网IP 443
telnet 服务器公网IP 22
本机没有 telnet 时,也可以用 nc -zv 服务器公网IP 80。
能连接成功会显示 open 或 Connected。
最后打开浏览器访问网站:http://域名 能看到页面,说明 80 通;https://域名 能正常加载且锁头无报错,说明 443 通;
SSH 能正常登录,说明 22 通。
如果浏览器提示无法访问,优先回看安全组规则和系统防火墙列表,再检查 Web 服务(Nginx/Apache)是否启动成功。
按这套标准流程操作,基本能解决 90% 的端口不通问题。
如果你用的是宝塔或其它面板,只要保证安全组和系统防火墙都放行了对应端口,网站正常访问就没有障碍。
遇到异常时,先对照避坑清单逐项排查,比盲目重启服务器更有效。