You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP Compute Engine部署Apache访问报连接拒绝的解决方法

Google Cloud Compute Engine 部署Apache报连接被拒绝的正确配置方案

按以下步骤逐一排查配置,即可解决公网IP访问报ERR_CONNECTION_REFUSED的问题:

1. 先确认Apache服务本身正常监听公网可达端口

在VM实例的SSH终端执行以下操作:

  • 执行ss -tulpn | grep httpd查看端口监听状态
    • 正常返回结果必须包含0.0.0.0:80或者:::80的监听记录
    • 如果仅显示127.0.0.1:80,说明Apache绑定了本地回环地址,编辑/etc/httpd/conf/httpd.conf配置文件,将Listen项修改为Listen 0.0.0.0:80,保存后执行systemctl restart httpd重启服务
    • 如果执行命令无任何80端口相关输出,说明Apache启动异常,执行httpd -t扫描配置文件语法错误,再通过tail -n 50 /var/log/httpd/error_log查看错误日志定位启动失败原因,修复后重新启动服务
  • 本地回环验证:执行curl http://127.0.0.1,如果能返回Apache默认欢迎页的HTML内容,说明服务本身运行正常。

2. 放行Linux系统本地防火墙的80端口(最高发漏配项)

CentOS系统默认开启firewalld防火墙,默认不放行HTTP 80端口,和GCE平台侧的VPC防火墙是两层独立的访问控制,必须单独配置:

  • 执行firewall-cmd --state确认防火墙运行状态,如果返回running,依次执行以下命令放行HTTP/HTTPS流量:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
  • 如果使用iptables作为本地防火墙,执行以下规则放行80端口并保存:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save

3. 复核GCE平台侧防火墙规则配置

不要仅确认规则存在,逐一核对以下配置项:

  • 规则的目标网络标签,必须和对应VM实例配置的网络标签完全一致(大小写敏感)
  • 规则方向为入站,允许TCP协议80端口,源地址范围配置为0.0.0.0/0(公网任意地址可访问),如果仅配置了内网网段,公网访问会被拦截
  • 确认不存在优先级更高的入站拒绝规则覆盖80端口的放行策略
  • 访问时手动在浏览器地址栏输入http://[你的VM外部IP],不要直接点控制台外部IP默认跳转的HTTPS链接,未配置443证书时HTTPS访问必然失败。

4. 特殊场景排查

如果以上配置全部完成仍无法访问,执行setenforce 0临时关闭SELinux测试访问,若可以正常连通,说明是SELinux策略拦截,重新加载SELinux的HTTP策略即可:restorecon -vR /etc/httpd。


内容的提问来源于stack exchange,提问作者echizenya_yota

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 11:15:42