如何使用 Nagios 检查安全网站的 HTTP 响应代码?

Sim*_*ter 12 website ssl nagios http-status-code

我想为我的安全网站创建一个 nagios 检查。所有检查需要做的就是使用我通过脚本的登录详细信息登录到该站点。

有没有人知道允许我这样做的插件或脚本?

我曾尝试使用check_http,但即使网站被重定向到错误页面,我也能成功。

Ste*_*ski 18

我曾尝试使用 check_http 但即使网站被重定向到错误页面我也能成功

这可以通过check_http --expect. 这是来自check_http --help的文档:

-e, --expect=STRING 逗号分隔的字符串列表,至少其中一个应该出现在服务器响应的第一(状态)行(默认:HTTP/1)。如果指定,则跳过所有其他状态行逻辑(例如:3xx、4xx、5xx 处理)

以下示例将为200 OK HTTP 响应代码返回“OK” ,但对于 302 重定向将给出严重错误。

host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK
Run Code Online (Sandbox Code Playgroud)

对于安全网站(通过 SSL)和身份验证,还请查看 check_http--ssl--authorization标志。

-S, --ssl 通过 SSL 连接。端口默认为 443

-a, --authorization=AUTH_PAIR 用户名:具有基本身份验证的站点上的密码

或者,也许您实际上并不想登录系统,而只是想确保该页面需要用户名/密码,因为该用户名/密码可能会成为安全问题。在这种情况下,尝试类似以下内容/401是“未授权”或“需要授权”的 HTTP 响应代码——这401是强制性的,后面的文本字符串是可选的,可能会说几种不同的事情之一,所以我只告诉 Nagios期待401

check_http --expect="401"
Run Code Online (Sandbox Code Playgroud)