网站突然打不开,很多人的第一反应都是:“服务器是不是挂了?”
实际上,一个网站从用户输入域名到最终显示页面,中间需要经过 DNS 解析、网络连接、TCP 端口、HTTPS 握手、Web 服务器、应用程序和数据库等多个环节。任何一个环节出现异常,都可能表现为“网站打不开”。
因此,遇到网站无法访问时,最有效的方法不是反复刷新、重启服务器或者盲目修改配置,而是按照访问链路逐层排查。
本文提供一套比较完整的网站故障排查流程。无论你遇到的是域名打不开、网站连接超时、502、503、SSL 证书错误,还是只有部分地区无法访问,都可以按照下面的顺序快速定位问题。
一、网站打不开,先判断是哪一种情况

在真正开始排查之前,首先要确认故障范围。
不同的故障范围,通常对应完全不同的问题。
1. 只有自己的电脑打不开
如果别人访问正常,只有你的电脑或者当前网络无法访问,那么问题通常更可能出现在:
- 本地 DNS 缓存
- 浏览器缓存
- 本机 hosts 文件
- 本地代理软件
- VPN
- 防火墙
- 当前宽带运营商
- 路由器
- 本地网络 DNS
这种情况下,不建议一开始就去重启网站服务器。
可以先使用手机 4G/5G 网络访问一次。
如果手机流量可以正常打开,而家庭宽带打不开,说明网站服务器本身大概率仍然在线,应优先排查本地网络或 DNS。
2. 所有人都打不开
如果不同地区、不同运营商、不同设备都无法访问,问题更可能集中在:
- 域名解析异常
- 服务器宕机
- IP 无法访问
- 80/443 端口未开放
- Nginx、Apache 等 Web 服务停止
- 防火墙规则异常
- SSL 配置错误
- 应用程序崩溃
- CDN 或云服务故障
这时就需要从 DNS 和服务器网络层开始检查。
3. 部分地区打不开
这是一种比较容易误判的情况。
例如:
- 广东可以访问,北京打不开
- 电信正常,移动访问异常
- 国内正常,海外访问慢
- 某些 DNS 可以解析,某些 DNS 解析异常
这种情况通常需要重点检查:
- DNS 解析是否一致
- CDN 节点是否异常
- 不同运营商的网络线路
- 路由质量
- 地区性网络故障
- IPv4 / IPv6 配置
- 安全策略或访问限制
因此,仅仅在自己的电脑上 Ping 一次,并不能完全判断网站是否正常。
更可靠的方法是使用多地区节点同时检测。
二、第一步:检查域名和 DNS 是否正常
用户访问网站时,浏览器首先要把域名转换为服务器 IP。
例如访问:
www.example.com
浏览器实际上需要先通过 DNS 查询出类似:
203.0.113.10
这样的服务器 IP,然后才能建立连接。
因此,DNS 是整个网站访问链路的第一步。
如果 DNS 出现问题,即使服务器本身完全正常,用户依然无法打开网站。
DNS异常常见表现
比较典型的现象包括:
- 域名无法解析
- 提示“找不到服务器”
- 浏览器显示 DNS_PROBE_FINISHED_NXDOMAIN
- ERR_NAME_NOT_RESOLVED
- 不同地区解析到不同的异常 IP
- 修改解析后部分用户仍访问旧服务器
- www 可以访问,根域名打不开
- IPv4 正常但 IPv6 无法访问
如何检查 DNS?
Windows 可以执行:
nslookup example.com
Linux 或 macOS 可以使用:
dig example.com
重点检查返回的 A、AAAA 或 CNAME 记录是否与你实际配置一致。
对于网站站长,更推荐使用多节点 DNS 查询工具进行检测,因为单个电脑只能代表当前网络环境。
通过测罗的 DNS 查询功能,可以对比不同地区、不同网络节点返回的 DNS 解析记录和解析耗时,从而判断是否存在区域性解析异常。
DNS正常应该是什么状态?
如果你的域名配置的是:
example.com → 203.0.113.10
那么不同地区查询时,返回结果应该与实际 DNS 配置基本一致。
如果某些地区突然返回完全无关的 IP,就需要进一步检查:
- DNS 服务商配置
- 域名 NS
- CDN 配置
- 本地 DNS 缓存
- 是否存在解析污染或异常劫持
三、第二步:使用 Ping 判断基础网络连通性
DNS 正常后,可以进一步检查服务器网络是否能够到达。
最常见的方法就是 Ping。
例如:
ping example.com
Ping 可以帮助我们观察:
- 域名是否能够解析
- 服务器是否响应 ICMP
- 网络延迟
- 是否存在明显丢包
- 不同地区的网络质量差异
但是这里有一个非常重要的误区:
Ping 不通,并不等于网站一定挂了。
因为很多服务器、防火墙和云服务都会主动禁止 ICMP 请求。
这时可能出现:
Ping:请求超时 HTTPS:正常访问
因此 Ping 更适合作为网络诊断参考,而不能单独作为判断网站存活的唯一依据。
Ping域名和Ping IP有什么区别?
可以分别测试:
ping example.com
以及:
ping 203.0.113.10
如果:
Ping IP 正常,但域名异常
优先检查 DNS。
如果:
域名能够正确解析,但 IP 也无法连通
则需要继续检查服务器网络、防火墙、线路或者服务商状态。
对于地区性故障,可以使用测罗的多节点 Ping 检测,从不同地区和网络节点观察延迟、丢包以及连通情况。
四、第三步:检查80和443端口是否可以连接
即使服务器能够 Ping 通,也不代表网站一定可以打开。
因为普通网站访问主要依赖两个 TCP 端口:
- HTTP:80
- HTTPS:443
例如服务器正常在线,但是 Nginx 没有启动,443 端口没有监听,那么用户访问 HTTPS 网站依然会失败。
因此,Ping 之后建议继续进行 TCP 端口检测。
常见网站端口
服务默认端口HTTP80HTTPS443SSH22FTP21MySQL3306PostgreSQL5432
对于普通网站,重点检查 80 和 443。
如果443端口连接失败
常见原因包括:
- Nginx 或 Apache 没有启动;
- 服务没有监听 443;
- 云服务器安全组未放行;
- Linux 防火墙阻止访问;
- CDN 回源配置异常;
- 服务监听到了错误的 IP;
- 服务器网络故障。
例如 Linux 服务器可以检查:
ss -lntp | grep ':443'
如果没有任何进程监听 443,就需要检查 Web 服务配置。
也可以通过测罗 TCP 检测,从多个节点直接测试目标服务器的 TCP 端口是否能够建立连接。
相比 Ping,TCP 检测对于排查网站 80/443 端口问题通常更有针对性。
五、第四步:检查HTTP状态码

如果 DNS 正常、服务器可以连接、443 端口也正常,下一步就进入 HTTP 层。
这时网站通常已经能够接收到请求,但服务器返回的内容可能存在异常。
可以执行:
curl -I https://example.com
查看服务器返回的 HTTP 状态。
常见HTTP状态码
200
200 OK
说明服务器成功处理请求。
但需要注意,HTTP 200 只能说明服务器返回了内容,并不代表页面业务逻辑一定完全正常。
301 / 302
代表页面发生跳转。
正常的网站经常会使用 301,例如:
http://example.com → https://example.com
但如果重定向配置错误,可能形成循环跳转,浏览器通常会提示重定向次数过多。
403 Forbidden
服务器收到了请求,但拒绝访问。
常见原因包括:
- Nginx 权限配置
- WAF
- IP 黑名单
- 防盗链规则
- User-Agent 限制
- 文件权限问题
404 Not Found
服务器正常运行,但请求的页面不存在。
如果首页都返回 404,需要检查:
- Nginx root 配置
- 网站程序路由
- rewrite 规则
- 部署目录
429 Too Many Requests
代表请求频率受到限制。
常见于:
- API 限流
- WAF
- 防 CC 策略
- CDN 访问限制
500 Internal Server Error
通常代表服务器内部程序发生错误。
需要重点查看应用程序日志。
502 Bad Gateway
502 是网站运维中非常常见的一类错误。
如果使用:
用户 → Nginx → 后端应用
这样的架构,502 往往表示 Nginx 正常,但是无法从上游服务获得有效响应。
常见原因包括:
- 后端程序没有启动
- 后端端口错误
- upstream 配置错误
- Unix Socket 不存在
- 后端程序崩溃
- 上游连接异常
503 Service Unavailable
通常表示服务当前不可用。
常见于:
- 应用维护
- 服务过载
- 后端实例不可用
- 容器未启动
- 服务主动返回维护状态
504 Gateway Timeout
通常表示网关已经连接上游服务,但等待响应超时。
例如:
Nginx → API → 数据库
数据库查询耗时过长,就可能最终导致 Nginx 返回 504。
六、第五步:检查SSL证书和HTTPS
如果 HTTP 可以访问,但 HTTPS 打不开,很可能是 SSL/TLS 层的问题。
常见浏览器错误包括:
NET::ERR_CERT_DATE_INVALID NET::ERR_CERT_COMMON_NAME_INVALID
或者直接提示:
您的连接不是私密连接
SSL证书常见问题
主要包括:
- 证书已经过期
- 域名与证书不匹配
- 中间证书链不完整
- SNI 配置异常
- 使用了错误证书
- 证书尚未生效
- 443 配置错误
- CDN 与源站证书配置冲突
例如你的证书只包含:
example.com
但用户访问:
www.example.com
如果证书 SAN 中没有包含 www.example.com,就可能出现域名不匹配错误。
因此,HTTPS 网站出现异常时,可以使用 SSL 证书检测工具检查:
- 证书域名
- 有效期
- 颁发机构
- 证书链
- HTTPS 配置状态
不要只检查“有没有安装证书”,还要确认浏览器实际拿到的证书是不是你预期的那一张。
七、第六步:检查Nginx、Apache和网站程序
经过前面的检查,如果:
- DNS 正常
- 网络正常
- TCP 443 正常
- SSL 正常
但网站还是无法正常显示,就应该重点进入服务器内部排查。
检查Nginx
Linux 常见命令:
systemctl status nginx
测试配置:
nginx -t
查看错误日志:
tail -f /var/log/nginx/error.log
如果使用 Apache,则需要查看 Apache 服务状态以及对应错误日志。
检查后端应用
很多现代网站并不是 Nginx 直接返回页面,而是:
浏览器 ↓ CDN ↓ Nginx ↓ Go / Rust / Java / Node.js / PHP / Python ↓ Redis / PostgreSQL / MySQL
这条链路中的任何一层出现故障,都可能表现为网站打不开。
例如:
Nginx 正常 ↓ Rust 服务崩溃 ↓ 502 Bad Gateway
或者:
应用正常 ↓ PostgreSQL 无法连接 ↓ API 500
因此,应用型网站还应该继续检查:
- 后端进程
- Docker 容器
- PM2 / systemd
- 数据库
- Redis
- 消息队列
- 磁盘容量
- CPU
- 内存
- 文件描述符
- 连接池
八、只有部分地区打不开怎么办?
如果网站并不是完全宕机,而是“有些人可以打开,有些人打不开”,排查思路会有所不同。
这类问题更应该依赖多节点测试。
情况一:不同地区DNS结果不同
检查不同地区的 A、AAAA、CNAME 记录。
如果部分地区返回旧 IP,可能与:
- DNS 缓存
- TTL
- CDN
- 权威 DNS
- 解析同步
有关。
情况二:DNS相同,但部分地区Ping延迟异常
继续进行路由追踪。
可能存在:
- 跨运营商线路质量问题
- 网络节点拥堵
- 路由绕行
- 国际链路异常
情况三:Ping正常,但是网站很慢
这时候不能继续只看 Ping。
Ping 延迟低,只能说明网络往返时间较低,并不能代表网页加载一定快。
还应该进行网站测速,观察:
- DNS 解析耗时
- TCP 连接耗时
- TLS 建连耗时
- 首字节响应
- 页面下载速度
- 不同地区性能差异
如果网络连接很快,但服务器长时间没有返回第一个字节,更可能是服务器或者应用程序本身响应慢。
九、网站打不开快速排查顺序
如果以后再次遇到网站无法访问,可以直接按照下面的顺序执行:
第1步:换网络测试
手机流量、宽带分别测试。
目的是确认是局部故障还是全局故障。
第2步:检查DNS
确认域名是否解析到正确服务器。
第3步:进行多节点Ping
检查基础网络连通性、延迟和丢包。
第4步:检测80/443端口
确认网站服务端口是否能够建立 TCP 连接。
第5步:查看HTTP状态
重点关注:
200 301 302 403 404 429 500 502 503 504
第6步:检查SSL证书
如果 HTTPS 异常,确认:
- 证书是否过期
- 域名是否匹配
- 证书链是否完整
第7步:检查Web服务器
检查 Nginx、Apache、Caddy 等服务是否正常运行。
第8步:检查应用程序
检查 Go、Rust、Java、Node.js、PHP、Python 等后端应用状态。
第9步:检查数据库和依赖服务
包括:
- PostgreSQL
- MySQL
- Redis
- Elasticsearch
- 消息队列
- 对象存储
- 第三方 API
经过这一套流程,绝大多数“网站打不开”的故障都能够快速缩小排查范围。
十、常见故障现象与可能原因对照表
故障现象优先检查域名完全无法解析DNS、NS、域名状态域名解析到错误IPDNS解析配置Ping域名失败但Ping IP正常DNSPing不通但网站能打开ICMP被禁用,通常无需处理Ping正常但网站打不开TCP端口、Web服务80正常、443失败HTTPS、443、防火墙HTTPS提示证书错误SSL证书HTTP 403权限、WAF、安全策略HTTP 404URL、路由、部署目录HTTP 500网站程序HTTP 502反向代理、后端服务HTTP 503服务不可用或过载HTTP 504上游响应超时只有部分地区打不开DNS、CDN、运营商线路网站能打开但速度很慢网站测速、服务器性能、线路
这张表可以作为网站故障时的第一份检查清单。
十一、为什么建议使用多节点检测?
很多网站故障最大的误区,是:
“我这里能打开,所以网站肯定正常。”
实际上,你的电脑只能代表:
当前设备 + 当前宽带 + 当前DNS + 当前运营商 + 当前地区
而真实用户可能来自不同城市、不同省份甚至不同国家。
一个网站可能出现:
深圳电信:正常 上海联通:正常 北京移动:异常 海外节点:高延迟
这种区域性问题仅依靠本地浏览器很难发现。
因此,对公网网站进行故障排查时,可以结合测罗的:
- Ping 检测
- TCP 检测
- DNS 查询
- 路由追踪
- 网站测速
- HTTP 状态检测
- SSL 证书检测
按照“DNS → 网络 → 端口 → HTTP → HTTPS → 应用”的顺序逐层排查。
这样比单纯反复刷新网页,更容易真正找到故障发生在哪一层。
十二、网站打不开常见问题FAQ
1. 网站Ping得通,但是浏览器打不开是什么原因?
Ping 成功只能说明目标主机在网络层可以响应 ICMP,并不代表 Web 服务正常。
需要继续检测 80 或 443 端口,并检查 HTTP 状态、Nginx 和后端应用。
2. 网站Ping不通,是不是服务器挂了?
不一定。
服务器或者防火墙可能禁止了 ICMP 请求,即使 Ping 超时,HTTP/HTTPS 服务仍然可能正常。
因此还需要使用 TCP 端口检测进行确认。
3. 为什么别人可以打开网站,我却打不开?
可能与本地 DNS 缓存、运营商网络、浏览器缓存、代理、VPN、hosts 文件或者地区网络有关。
可以先切换手机流量进行对比测试。
4. 为什么网站换服务器后还有人访问旧服务器?
比较常见的原因是 DNS 缓存尚未更新。
需要检查域名 TTL、不同地区 DNS 解析结果以及 CDN 配置。
5. DNS正常,443也正常,为什么还是打不开?
这说明故障可能已经进入 HTTP 或应用层。
继续检查 HTTP 状态码、Nginx 日志、后端程序以及数据库状态。
6. 502 Bad Gateway是什么意思?
通常表示反向代理服务器正常,但是无法从上游应用获得有效响应。
例如 Nginx 可以访问,但是 Go、Rust、Node.js 或 PHP 后端已经停止运行,就可能产生 502。
7. 网站只有晚上变慢是什么原因?
可能与高峰期网络拥堵、服务器资源不足、数据库负载升高、带宽占满或上游线路质量有关。
建议结合不同时段的网站测速、服务器 CPU、内存、带宽和数据库指标进行判断。
总结
网站打不开并不是一个单一问题。
完整的网站访问过程可以简单理解为:
域名 ↓ DNS解析 ↓ 服务器IP ↓ 网络连接 ↓ TCP 80/443 ↓ SSL/TLS ↓ Nginx/Apache ↓ 网站应用 ↓ 数据库与其他服务
任何一层出现问题,最终都可能表现为“网页打不开”。
因此,最有效的排查方式不是猜,而是按照链路逐层检查:
先查 DNS,再查 Ping 和 TCP,然后查看 HTTP 状态与 SSL,最后进入服务器检查 Web 服务、应用程序和数据库。
如果问题只发生在部分地区,则进一步结合多节点 DNS、Ping、路由追踪和网站测速,对比不同地区和运营商的检测结果。
建立这样的排查思路之后,下次遇到网站无法访问、域名打不开、502、504、HTTPS 异常等问题,就可以更快判断故障发生在哪一层,而不是从服务器配置中漫无目的地寻找原因。