技术与生活 / 一篇记录
看到 500 之前,先弄清是谁返回的
状态码是入口,响应头、正文特征和日志时间才帮助确认返回者。CDN、反向代理和应用都可能返回错误,处理位置不同,解决办法也完全不同。
先明确这里的区别
状态码表达请求处理结果,应结合响应头与正文判断故障发生在哪一层。
域名 example.com 仅用于说明,核查自己的网站时请替换目标地址。
curl -I https://example.com/
怎样判断处理正确
比较成功响应、跳转响应与不存在路径的响应。
用同一请求对照公网入口与本地上游,记录完整状态链。某些站点不支持 HEAD;HEAD 异常时要用 GET 复核,避免误判实际页面不可访问。
对同一个请求记录请求方法也很重要。重定向、认证和代理处理可能因方法而异。排查时保留最小请求头集合,逐步加入必要条件,避免复制大量无关浏览器头部干扰判断。
需要留意的是,HEAD 与 GET 可能被服务端不同处理,必要时再检查实际 GET。
参考:HTTP 文档。