当您发现服务器通过IP无法访问时,可能是由多种原因导致的,以下是详细的排查步骤与解决方案,帮助您快速定位问题并恢复正常访问。
检查IP配置
确保服务器绑定的公网IP地址正确,如果是云服务器(如阿里云、酷盾),需在控制台确认实例的公网IP是否已分配且未更换。
示例: 登录云服务器控制台 → 进入实例详情 → 查看“公网IP”一栏。
本地网络环境验证
尝试在不同设备或网络环境下访问IP地址(例如手机4G网络),排除本地网络屏蔽或DNS被墙的可能性。
服务器防火墙
iptables
或firewalld
是否放行了目标端口(默认HTTP/HTTPS端口为80/443)。firewall-cmd --list-ports # 查看开放端口 firewall-cmd --add-port=80/tcp --permanent # 开放80端口
云平台安全组
云服务器(如AWS、华为云)的安全组策略需单独配置,登录控制台,检查安全组是否放行了源IP(0.0.0.0/0为所有IP)及目标端口。
使用Ping命令
在本地终端执行以下命令,检测是否能到达服务器IP:
ping 服务器IP地址
Telnet测试端口
通过Telnet检测目标端口是否开放:
telnet 服务器IP 80 # 测试80端口
Connected
,表示端口可访问。 Connection refused
,说明端口未开放或服务未运行。确认Web服务运行正常
systemctl status nginx # 查看Nginx状态
journalctl -u nginx --since "10 minutes ago" # 检查近期日志
检查监听地址
确保Web服务配置中监听的是0.0.0:80
(允许所有IP访问),而非0.0.1:80
(仅限本地访问)。
如果通过域名可访问但IP无法访问:
浏览器缓存或HSTS策略
清除浏览器缓存,或尝试无痕模式访问,若网站曾启用HSTS(强制HTTPS),可能需重置浏览器设置。
CDN/反向代理配置错误
检查CDN(如Cloudflare)或反向代理(如Nginx)是否将IP访问重定向到无效地址。
主机商限制
部分云服务商禁止直接通过IP访问网站(需绑定域名),或默认屏蔽高危端口(如80/443),联系客服确认政策。
tracert
(Windows)或traceroute
(Linux)命令分析网络节点是否异常: traceroute 服务器IP
引用说明
本文部分技术方案参考自Cloudflare文档及Linux man pages。