解读代理监控的状态与退出码
在经由代理的网站检查中,分别报告命令执行、HTTP 结果与证书校验。
包装脚本无法把下载器的零退出码变成实际观测到的“HTTP 200 OK”。请记录每一层实际报告了什么:
| 字段 | 回答的问题 |
|---|---|
| 工具或插件退出码 | 检查是否执行,报告了哪类失败? |
| 代理协商 | 转发或所请求的隧道是否被允许? |
| 源站状态与预期内容 | 应用是否返回了预期结果? |
| TLS 校验 | 所配置的身份校验是否成功? |
curl 在收到 HTTP 错误响应后通常仍可返回零。它的 fail 选项会改变退出行为,但失败退出仍不能唯一确定状态。Wget 的退出值同样是分类:认证失败并不是专门的 HTTP 401 取值,服务器错误分类也不能识别其中的每一个响应。期望 401 的检查必须观测到该响应。
把代理端点和网站名分开。HTTP 代理检查的 TCP 对端是代理;CONNECT 指明目的地,其 TLS 会话随后在隧道内运行。对于 HTTPS 代理,外层代理信任是另一项证书校验。
在把 SSL 开关当作校验之前,先看插件的保证。Monitoring Plugins 已弃用 check_http,改用 check_curl。check_http 的文档警告:仅选择 SSL 并不校验主机名或签发者信任;check_curl 文档化的 verify-peer 选项包含这项校验。
也要使用预期的已认证路径。端口探测可能一直显示正常,而业务账号却收到 407。通过部署的适当机制交付其密钥,并报告真正失败的阶段:隧道被拒与网站状态异常需要不同的修复。