本文档介绍如何进行网络无法访问的问题的排查及定位。
可能原因
网络问题、防火墙设置、服务器负载过高等原因导致网站无法访问。
故障处理
排查服务器相关问题
服务器关机、硬件故障、CPU/内存/带宽使用率过高都可能造成网站无法访问,因此建议您依次排查服务器的运行状态、CPU/内存/带宽的使用情况。
- 登录 云服务器控制台,并在实例的管理页面查看实例的运行情况是否正常。如下图所示:
- 是,请执行 步骤2。
- 否,请重启云服务器实例。
- 单击实例的 ID/实例名,进入该实例的详情页面。
- 选择监控页签,查看 CPU/内存/带宽的使用情况。如下图所示:
- 如果存在 CPU/内存使用过高的情况,请参考 Windows 实例:CPU 与内存占用率高导致无法登录 和 Linux 实例:CPU 与内存占用率高导致无法登录 进行排查。
- 如果存在带宽使用过高的情况,请参考 带宽占用高导致无法登录 进行排查。
- 如果 CPU/内存/带宽的使用情况正常,请执行 步骤4。
- 执行以下命令,检查 Web 服务相应的端口是否被正常监听。
说明:
以下操作以 HTTP 服务常用的80端口为例。
- Linux 实例:执行
netstat -ntulp |grep 80
命令。如下图所示: - Windows 实例:打开 CMD 命令行工具,执行
netstat -ano|findstr :80
命令。如下图所示: - 如果端口被正常监听,请执行 步骤5。
- 如果端口没有被正常监听,请检查 Web 服务进程是否启动或者正常配置。
- Linux 实例:执行
- 检查防火墙设置,是否放行 Web 服务进程对应的端口。
排查网络相关问题
网络相关问题也有可能引起网站无法访问,您可以执行以下命令,检查网络是否有丢包或延时高的情况。
ping 目的服务器的公网 IP
- 如果返回类似如下结果,则表示存在丢包或延时高的情况,请使用 MTR 进一步进行排查。具体操作请参考 云服务器网络延迟和丢包。
- 如果没有丢包或延时高的情况,请 排查安全组设置相关问题。
排查安全组设置相关问题
安全组是一个虚拟防火墙,可以控制关联实例的入站流量和出站流量。安全组的规则可以指定协议、端口、策略等。如果您没有放通 Web 进程相关的端口也会造成网站无法访问。
- 登录 云服务器控制台,并在 “实例列表” 页面单击实例的 ID/实例名,进入该实例的详情页面。
- 选择安全组页签,查看查看绑定的安全组以及对应安全组的出站和入站规则,确认是否放通 Web 进程相关的端口。如下图所示:
- 是,请 排查域名、备案和解析相关问题。
- 否,请修改安全组设置,放通 Web 进程相关的端口。
排查域名备案和解析相关问题
排查了 服务器相关问题、网络相关问题 和 安全组设置相关问题 后,您可以尝试使用云服务器的公网 IP 进行访问。如果使用 IP 地址可以访问,而使用域名访问失败,则可能是域名备案或者解析相关问题造成网站无法访问。