Oracle Autonomous Linux 7.9安装Apache后默认页面无法访问如何排查
故障诊断操作步骤
1. 端口监听状态校验
- 执行
ss -tulnp | grep -E ':(80|443)\s'确认httpd是否确实在0.0.0.0或公网对应网卡的80、443端口监听,排除仅绑定127.0.0.1回环地址的问题。 - 如果监听地址为127.0.0.1,需要修改httpd配置文件
/etc/httpd/conf/httpd.conf中的Listen指令,改为Listen 0.0.0.0:80和Listen 0.0.0.0:443后重启httpd服务。
2. 本地连通性验证
- 执行
curl -v http://127.0.0.1和curl -v https://127.0.0.1 --insecure确认本地访问httpd服务是否正常返回响应,排除服务本身配置异常问题。 - 执行
curl -v http://<服务器内网IP>确认内网IP访问是否正常,排除网卡层面的访问限制。
3. 防火墙与端口规则二次校验
- 执行
firewall-cmd --list-all确认public zone(或对应网卡绑定的zone)中是否确实放行了80、443端口,同时确认规则是permanent生效且已重载配置。 - 执行
iptables-save | grep -E 'dport (80|443)'检查底层iptables规则是否存在阻断80、443入站流量的规则,部分云平台的VM可能会默认预置隐藏的iptables阻断规则。 - 临时关闭firewalld执行
systemctl stop firewalld后再尝试公网访问,验证是否为防火墙规则配置遗漏导致的流量拦截。
4. 路由与网卡配置排查
- 执行
ip addr确认公网IP是否确实绑定在VM的网卡上,排除公网IP未正确映射到VM实例的问题。 - 执行
ip route show检查默认路由配置是否正确,确认回包路由指向公网网关,避免请求到达后回包无法返回客户端的问题。
5. 流量抓包验证
- 执行
tcpdump -i any port 80 or port 443启动抓包后,再从公网发起访问请求,确认是否有入站流量到达VM的网卡:- 若抓包无任何请求报文,说明流量在到达VM之前就被云平台的安全组、网络ACL等上层网络设备拦截,需要去云平台控制台调整网络规则。
- 若抓包有请求报文但无回包,需要排查httpd配置、路由规则或SELinux限制。
6. SELinux策略排查
- 执行
getenforce确认SELinux状态,若为Enforcing模式,执行sealert -a /var/log/audit/audit.log检查是否存在SELinux拦截httpd端口绑定或流量访问的日志。 - 临时关闭SELinux执行
setenforce 0后再尝试访问,验证是否为SELinux策略导致的拦截。
内容的提问来源于stack exchange,提问作者Robert Achmann
相关产品推荐
相关产品推荐

