巡检脚本固定带桌面 UA,移动版详情页返回 404 的问题跑了两周才被用户反馈发现,报告里一直显示全部正常。

排查方向其实有限,先把可能性排一排。脚本只发一种 UA,移动链路完全没覆盖;移动站是独立域名,清单里没有;CDN 按 UA 分流,桌面链路掩盖了移动侧错误;报警只看状态码,没比对正文长度。

先加一组移动 UA 请求

curl -s -o /dev/null -w '%{http_code}\n' -A 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0)' https://m.example.com/post/1024

接着把移动域名纳入清单

https://m.example.com/sitemap.xml

然后对比两条链路的正文长度

curl -s https://www.example.com/post/1024 | wc -c

状态码和字节数双阈值报警

curl -s -o /dev/null -w '%{http_code} %{size_download}\n' https://www.example.com/post/1024

当时还开着另一个排查窗口,两边日志对照着看才定位到。

同一份数据我导出了两份,一份留底,一份拿来试。

这类问题以前遇到过,但这次的触发条件和上次不一样。

改完先别撤,确认这几项。下一轮巡检里移动链路的 404 被列出,修复后两条链路正文长度基本一致。

只测一条链路等于只测半个站,UA 和域名两个维度都要覆盖。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189