搭建网站时,80端口用于HTTP访问、443端口用于HTTPS访问,网站打不开很多时候是端口没有放行。Linux开放端口分为两层:服务器内部防火墙(firewalld/iptables)、云服务商后台安全组,两个都要配置,缺一不可。下面分系统讲解操作步骤。

一、先分清两个容易忽略的放行位置
1.服务器内部防火墙:系统自带firewalld、ufw、iptables,只控制服务器本身;
2.云服务器安全组(云主机/VPS必看):阿里云、腾讯云、华为云、海外VPS服务商后台的安全组规则,就算系统防火墙放行,安全组没开,外部依旧无法访问80/443。
海外部分机房默认安全组全部放行,可以跳过这一步,但国内云服务器默认收紧。
二、CentOS/RHEL(firewalld)放行80、443
CentOS7、8、9默认使用firewalld防火墙
#放行80端口
firewall-cmd--add-port=80/tcp--permanent
#放行443端口
firewall-cmd--add-port=443/tcp--permanent
#重载防火墙生效
firewall-cmd--reload
#查看已放行端口列表
firewall-cmd--list-ports
--permanent代表永久生效,不加这个参数重启防火墙后规则失效。
三、Ubuntu/Debian(ufw防火墙)放行80、443
Ubuntu默认ufw,新手常用
#放行80
ufwallow80/tcp
#放行443
ufwallow443/tcp
#查看规则
ufwstatus
如果ufw没开启,执行`ufwenable`开启防火墙。
四、通用iptables方式(兼容各类Linux)
iptables-AINPUT-ptcp--dport80-jACCEPT
iptables-AINPUT-ptcp--dport443-jACCEPT
#保存规则,不同系统保存命令不一样
提示:iptables配置容易丢失,新手优先firewalld或者ufw。
五、宝塔面板可视化放行(新手推荐)
登录宝塔面板→安全
在放行端口处,添加:80、443,协议选择TCP,保存即可。
宝塔面板会自动写入防火墙规则,不用敲命令。
六、验证端口是否通了
在自己电脑上测试,替换为你的服务器IP:
telnet你的IP80
telnet你的IP443
或者用MTR、端口扫描工具检测;
服务器本地查看端口监听:
netstat-tulpn|grep80
netstat-tulpn|grep443
#没有netstat可以用ss
ss-tulpn|grep-E':80|:443'
重点:放行端口≠程序监听端口。Nginx/Apache没启动,就算端口放开,也访问不了。
总结
开放80、443核心两步:系统防火墙放行TCP端口+云后台安全组添加放行规则。CentOS用firewalld,Ubuntu用ufw,不想敲命令直接宝塔面板操作。配置完成后,确认Nginx等web服务正常监听端口,外网才能正常打开网站。
文章名称:《Linux如何开放80和443端口?》
文章链接:https://www.idc500.com/12215.html
【声明】:优云主机测评 仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问优云主机测评 ,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。