He intentado usar check_http pero obtengo éxito incluso si el sitio web es redirigido a una página de error
Esto se puede resolver con check_http --expect
. Aquí está la documentación de check_http --help :
-e, --expect = STRING Lista de cadenas delimitadas por comas, se espera al menos una de ellas en la primera línea (estado) de la respuesta del servidor (predeterminado: HTTP / 1.) Si se especifica, omite todas las demás lógicas de línea de estado ( ej .: procesamiento 3xx, 4xx, 5xx)
El siguiente ejemplo devolverá un 'OK' para un código de respuesta HTTP 200 OK , pero dará un error crítico para una redirección 302.
host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK
Para un sitio web seguro (a través de SSL) y autenticación, también consulte check_http --ssl
y las --authorization
banderas.
-S, --ssl Conéctese a través de SSL. El puerto predeterminado es 443
-a, --authorization = AUTH_PAIR Nombre de usuario: contraseña en sitios con autenticación básica
O tal vez en realidad no desee iniciar sesión en el sistema, pero solo quiere asegurarse de que la página requiera un nombre de usuario / contraseña, porque ese nombre de usuario / contraseña puede convertirse en un problema de seguridad. En ese caso, intente algo como lo siguiente / 401
es el código de respuesta HTTP para 'No autorizado' o 'Se requiere autorización': 401
es obligatorio, la cadena de texto posterior es opcional y puede decir una de varias cosas diferentes, así que le digo a Nagios a esperar 401
.
check_http --expect="401"
check_http
complemento admite la-s string
opción que le permite buscar cierta cadena de la respuesta HTTP. Si la página está imprimiendo una cadena específica en caso de éxito, puede verificarla para distinguirla del error.