网站无法访问排查思路
约 1168 字大约 4 分钟
2026-08-29
"网站打不开"或"网站很慢"是一个综合症状,中间隔着本地网络、域名解析、链路、端口、防火墙、Web 服务、应用本身多个环节。本文按链条逐段排查,先定位卡在哪一段,再对症处理。
先分清是"打不开"还是"很慢"
| 现象 | 大概率方向 |
|---|---|
| 报错无法连接 / 连接超时 | 端口、防火墙、Web 服务没起 |
| 提示 404 / 502 / 503 | Web 服务在跑,问题在应用或站点配置 |
| 提示证书错误 | SSL 证书过期或配置错误 |
| 能打开但很慢 | 带宽、链路质量、服务器负载、应用性能 |
第一步:确定故障范围
# 在本地电脑执行,直接用 IP 访问(把 1.2.3.4 换成服务器公网 IP)
curl -vk http://1.2.3.4/- 用 IP 能打开,用域名打不开:问题在域名解析或备案,看下一步。
- 用 IP 也打不开:问题在服务器侧,跳到第三步。
- 同时用手机流量、在线拨测工具等多地点测试:只有部分地区打不开多为链路或备案拦截;全网都打不开才是服务器问题。
第二步:域名解析与备案
# 查询域名是否解析、解析到了哪个 IP
dig example.com +short- 没有解析结果:去域名解析控制台检查记录是否被修改或删除。
- 解析到错误 IP:修改 A 记录并等待生效(TTL 时间后)。
- 解析正确但仍打不开,且提示"未备案"类拦截页:国内节点域名必须完成 ICP 备案后才能通过 80/443 访问,参见ICP备案说明。
- 解析过程本身异常(超时、解析到内网 IP),参见DNS解析异常排查。
快速验证解析问题
在本地电脑 hosts 文件中临时添加一行 服务器IP 你的域名,再访问。能打开即可确认问题出在 DNS 解析环节。
第三步:端口与防火墙
在本地测试 Web 端口是否可达(方法见Linux测试TCP-UDP端口连通性):
telnet 1.2.3.4 80- 端口不通,按两道防线依次检查:
- 安全组:确认入方向放行了 80/443 端口,规则写法见安全组与系统防火墙入门与安全组应用案例。
- 系统防火墙:firewalld / ufw / Windows 防火墙是否拦截,参见管理Linux实例的系统防火墙。
- 端口通但网页打不开:Web 服务本身的问题,看下一步。
第四步:Web 服务与应用
登录服务器检查 Web 服务状态:
sudo systemctl status nginx # 或 apache2 / httpd / iis(Windows 用服务管理器)
sudo ss -tlnp | grep -E ':80|:443' # 确认 80/443 在监听常见情况:
- 服务没起来:
systemctl start nginx后看journalctl -u nginx -e找失败原因;80 端口被其他程序占用时ss -tlnp会显示占用者。 - 502 Bad Gateway:Nginx 正常但后端(PHP-FPM / Node / Tomcat)挂了或端口配置错误,重启后端服务并核对转发端口。
- 403 / 404:站点根目录路径配错、文件权限不足、默认首页文件缺失。
- 证书报错:确认证书是否到期、域名是否匹配,重新部署参见Nginx部署SSL证书。
第五步:网站很慢的专项排查
打开慢时用浏览器 F12 → Network 面板(或 curl -w 计时)把一次请求拆成四段,看哪段最长:
| 阶段 | 耗时大说明 | 处理 |
|---|---|---|
| DNS 解析 | 解析服务慢或记录配置问题 | 更换公共 DNS、缩短 TTL,见DNS解析异常排查 |
| 建立连接(建连) | 链路质量差或丢包 | 见本地与Linux服务器双向MTR测试定位 |
| 首字节(TTFB) | 服务器负载高或后端慢 | 服务器侧排查见Linux系统卡顿排查;数据库慢查询优化 SQL 与索引 |
| 内容下载 | 带宽跑满或页面体积大 | iftop 看流量;确认带宽规格与限速规则见带宽计费模式;压缩与静态资源优化 |
补充两点:
- 带宽确实跑满:优化图片视频等大资源,或升级带宽规格。
- 后端有反代/CDN 场景:日志里看到的全是代理 IP 时,先按获取客户端真实IP还原真实来源,再判断是谁在慢。
仍无法解决?
提交工单时附上:测试时间点、本地 curl -vk 输出、域名解析结果、服务器上 systemctl status 与 Web 错误日志,便于快速定位。
