必须放行443端口,是否开放80端口取决于是否提供http服务或配置http→https跳转;centos/rhel用firewalld执行--add-service=https(及可选http)并reload,ubuntu/debian用ufw allow 443/tcp(及可选80/tcp),还需注意selinux、云平台安全组及证书权限。

Apache 配置 HTTPS 时,防火墙必须放行 443 端口(HTTPS 默认端口),否则外部用户无法通过 https:// 访问你的网站。是否还需要开 80 端口,取决于你是否同时提供 HTTP 服务或做 HTTP→HTTPS 自动跳转。
CentOS/RHEL 系统(firewalld)
这是最常见的场景。确认 firewalld 已运行后,执行以下命令:
- 允许 HTTPS 服务(即开放 443/tcp):
sudo firewall-cmd --permanent --zone=public --add-service=https - 如果还要支持 HTTP(比如做重定向或临时调试):
sudo firewall-cmd --permanent --zone=public --add-service=http - 立即生效:
sudo firewall-cmd --reload
验证是否成功:sudo firewall-cmd --zone=public --list-services 应看到 http https 出现在输出中。
Ubuntu/Debian 系统(ufw)
使用 ufw 管理防火墙时,直接按端口放行即可:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 开放 HTTPS:
sudo ufw allow 443/tcp - 开放 HTTP(可选):
sudo ufw allow 80/tcp - 启用或刷新规则(如已启用):
sudo ufw status verbose查看当前状态
注意:ufw 默认拒绝所有入站连接,所以没显式允许的端口一律被拦截。
额外注意事项
有些情况容易被忽略:
-
SELinux 干预:即使防火墙开了,SELinux 可能阻止 Apache 绑定到 443。检查是否启用:
sestatus;若为 enforcing,可临时测试:sudo setsebool -P httpd_can_network_connect 1 - 云服务器安全组:阿里云、腾讯云、AWS 等平台需在控制台单独配置「安全组规则」,放行 443 端口——这和系统防火墙是两层,缺一不可。
-
证书路径与权限:防火墙放开只是第一步。确保 Apache 配置中
SSLCertificateFile和SSLCertificateKeyFile指向的证书文件存在,且 Apache 进程(通常是apache或www-data用户)有读取权限。
不复杂但容易忽略——开完端口记得重启 Apache:sudo systemctl restart httpd(CentOS)或 sudo systemctl restart apache2(Ubuntu)。










