常见故障场景分析
High Contrast
Dark Mode
Light Mode
Sepia
Forest
4 min read735 words

常见故障场景分析

把最常见的站点故障场景整理成标准排查路径,遇到问题不慌,按图索骥。


场景 1:网站完全打不开(ERR_NAME_NOT_RESOLVED)

症状:浏览器显示 DNS_PROBE_FINISHED_NXDOMAINERR_NAME_NOT_RESOLVED

含义:DNS 解析失败——解析器找不到这个域名的记录。

排查步骤:

# 第一步:确认域名 DNS 记录是否存在
dig example.com A +short
# 如果没有输出 → DNS 记录不存在或 NS 配置错误
# 第二步:检查 NS 记录
dig example.com NS +short
# 应该返回你的 DNS 托管商的 NS
# 第三步:直接查权威服务器
dig @ns1.cloudflare.com example.com A +short
# 有结果但 dig @8.8.8.8 没结果 → NS 传播未完成

常见原因:

原因 判断方式 修复
DNS 记录被误删 dig example.com A 无结果 重新添加 A 记录
NS 记录未生效 权威服务器有结果,Google DNS 没有 等待传播(最多 48 小时)
域名过期 WHOIS 查到到期时间已过 续费域名(在宽限期内)
域名被注销/暂停 联系注册商确认 联系注册商解决

场景 2:部分地区打得开,部分打不开

症状:你自己能访问,但用户反馈打不开

排查步骤:

  1. dnschecker.org 查询你的域名 A 记录
  2. 看哪些地区有结果,哪些没有

常见原因: - DNS 传播还没完成(刚改过 DNS) - 某些地区的 ISP 有 DNS 污染(尤其是中国大陆访问境外域名) - CDN 某个地区节点故障

针对中国大陆访问问题: - 如果需要中国大陆正常访问,需要备案 + 国内 CDN - Cloudflare 免费计划在中国大陆的速度较慢


场景 3:SSL 证书错误

错误信息 可能原因 排查方式
NET::ERR_CERT_DATE_INVALID 证书过期 openssl s_client 查有效期
NET::ERR_CERT_COMMON_NAME_INVALID 证书域名不匹配 确认证书覆盖的域名
NET::ERR_CERT_AUTHORITY_INVALID CA 不受信任/自签名 换用 Let's Encrypt 或 Cloudflare SSL
ERR_SSL_PROTOCOL_ERROR SSL 握手失败 检查服务器 SSL 配置
锁头有警告 混合内容 Chrome DevTools Console 查看
# 快速检查证书
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates -issuer
# 用 SSL Labs 全面测试
# https://www.ssllabs.com/ssltest/analyze.html?d=example.com

场景 4:邮件被退回(Bounce)

退信原因分类:

退信类型 说明 处理方式
硬退信(Hard Bounce) 地址不存在、域名不存在 从列表永久删除该地址
软退信(Soft Bounce) 收件箱满、临时问题 等待后重试,超过 3 次删除
被拒绝(Rejected) SPF/DKIM/DMARC 验证失败 检查邮件认证配置
IP 黑名单 发件 IP 在黑名单 检查并申请移除黑名单
# 查看 MX 记录是否正确
dig example.com MX
# 用 MXToolbox 检查邮件配置
# https://mxtoolbox.com/SuperTool.aspx?action=mx%3aexample.com

场景 5:网站变慢(响应时间突然增加)

分层诊断:

graph TD A[网站变慢] --> B{DNS 解析慢?} B -->|是| C[检查 TTL 过短
检查权威 DNS 服务器响应] B -->|否| D{网络连接慢?} D -->|是| E[CDN 是否有效?
服务器地理位置?] D -->|否| F{服务器处理慢?} F -->|是| G[CPU/内存/数据库查询] F -->|否| H{资源加载慢?} H -->|是| I[图片未压缩
缓存未配置]
# 测量各层延迟
curl -s -o /dev/null -w "
namelookup:  %{time_namelookup}s
connect:     %{time_connect}s
appconnect:  %{time_appconnect}s
pretransfer: %{time_pretransfer}s
starttransfer: %{time_starttransfer}s
total:       %{time_total}s
" https://example.com

判断标准: - namelookup > 0.1s → DNS 解析慢(考虑降低 TTL 或换 DNS 提供商) - connect > 0.3s → 服务器地理距离远(考虑 CDN) - starttransfer > 1s → 服务器处理慢(应用层问题)


场景 6:改了 DNS 但 Cloudflare 显示未激活

症状:在注册商改了 NS 指向 Cloudflare,但 Cloudflare 后台仍显示 "Pending"

排查:

# 检查 NS 是否已传播
dig example.com NS +short
# 应该返回 ns1.cloudflare.com 和 ns2.cloudflare.com
# 如果还是注册商的 NS → 传播未完成,继续等待
# 如果已是 Cloudflare NS → Cloudflare 需要重新检测

解决:Cloudflare 后台 → 检查 DNS → 点击 "Re-check" 或等待自动检测(最多 24 小时)。


下一节故障排查流程图——系统化定位问题的思维框架。