包装脚本无法把下载器的零退出码变成实际观测到的“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。通过部署的适当机制交付其密钥,并报告真正失败的阶段:隧道被拒与网站状态异常需要不同的修复。

相关文章