Linux防火墙放行443 80跨境端口

跨境服务器搭建网站或应用时,443和80端口是必须打开的。
很多新手在配置Linux防火墙时容易卡住——要么命令执行后没生效,要么重启后规则丢失。
今天我就把Linux防火墙放行443 80跨境端口的完整流程拆开来讲,火墙工具用哪种、命令怎么写、怎么验证,一步一步带你看懂。

动手前先确认两件事

  1. 你用的是哪种防火墙工具?
  • 新版CentOS/RHEL 7+、Ubuntu 16.04+默认用firewalld
  • 老系统或云厂商预装镜像可能用iptables,可以执行systemctl status firewalldiptables -L -n看一下
  1. 先检查端口当前是否已被占用或已被其他规则拦截
  • 执行netstat -tulnp | grep -E ':443|:80',如果看到LISTEN说明服务已启动
  • 执行curl -I https://你的IPhttp://你的IP,如果连接失败再走防火墙步骤

两条常用命令打开443和80端口

这里分两种主流工具给出命令,请你根据自己的系统选一种执行,别混着来。

方法一:使用firewalld(推荐)

# 永久开放443和80端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

# 重载防火墙使规则生效
firewall-cmd --reload

# 验证规则是否添加成功
firewall-cmd --list-ports

输出应该包含443/tcp 80/tcp
注意--permanent参数不能省略,否则重启后会丢失。

方法二:使用iptables(老系统或特殊环境)

# 先确认当前规则链,避免误删
iptables -L INPUT -n --line-numbers

# 放行443和80端口(注意插入的位置,默认append到末尾)
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

# 保存规则让重启后依然生效(centos用service iptables save,debian/ubuntu用iptables-save)
service iptables save
# 或 /sbin/iptables-save > /etc/iptables/rules.v4

强烈建议: 如果你同时用云服务器,记得也去云控制台的安全组/防火墙里放行443和80端口,否则服务器内部放行了但网络层仍会被拦截。
跨境场景下还要注意安全组入方向不要写错IP范围(建议写0.0.0.0/0)。

踩过这些坑才能顺畅放行

  1. 端口放行了但外面访问不了? 先检查服务器自身是否有另一个防火墙(比如ufw、firewalld和iptables并存),只保留一个。
  2. firewalld重载后端口丢了? 八成是忘记加--permanent,或者不小心加了--remove-port,可以重新执行上面的添加命令。
  3. iptables save后重启规则没了? 确认是否正确调用了保存命令,centos 7以上默认没有service iptables save,需要先安装iptables-services包。
  4. 跨境延迟高或丢包? 防火墙只负责放行,网络质量问题要查路由或带宽,不要归咎于防火墙配置。

三步验证端口是否真正开放

  1. 本机验证: telnet 127.0.0.1 443ss -tlnp | grep 443,确认LISTEN状态。
  2. 局域网/其他机器验证: 在另一台机器上执行nc -zv 你的服务器IP 443,返回Connected即成功。
  3. 公网验证: 用在线端口检测工具(如portchecker.co)或手机4G网络访问http://你的IP(先确认80端口有服务)。如果都通,说明防火墙放行生效。

高频问题快答

Q:我用的是宝塔面板,还需要手动执行这些命令吗?
A:宝塔面板内置了安全组管理,可以在面板的“安全”或“防火墙”标签页直接放行端口,后端的规则也是通过firewalld或iptables实现的,效果一样。但如果你同时操作了面板和命令行,以先执行的为准。

Q:放行443后https还是打不开,但80可以?
A:检查Nginx或Apache的SSL证书配置是否正确,防火墙只负责网络层,不负责证书验证。可以curl -k https://你的IP忽略证书错误测试连通性。

Q:我按照firewalld方法操作了,但list-ports里只有80没有443?
A:重新执行firewall-cmd --add-port=443/tcp --permanent,注意端口数字不要写错,然后--reload。如果还没出来,检查是否有其他规则(如rich-rule)同时禁止了443。

如果你在操作过程中遇到FirewallD is not running的提示,先执行systemctl start firewalldsystemctl enable firewalld启动并设置开机自启,然后再放行端口。
跨境服务器尤其要注意云服务商安全组和服务器内部防火墙必须都开放,缺一不可。

分享到:
上一篇
Docker容器资源配额限制防抢占,零基础配置教程
下一篇
住宅主机UPS断电自动备份关机:零基础配置教程
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意