#!/bin/bash
# Comprueba si el servidor responde con un código HTTP (el flag -I solo pide las cabeceras)

# --max-time [-m]: es el timeout total que le concedes a toda la operación de curl
## --max-time 3: le decimos al comando: "Pase lo que pase (resolución de DNS, conexión TCP, negociación SSL o descarga de datos), si a los 3 segundos no has terminado por completo, abortas y sales"
# --connect-timeout: Regula únicamente el tiempo máximo que curl esperará para establecer la conexión inicial con el servidor (el apretón de manos o handshake). Una vez conectado, si el servidor tarda en responder porque está muy saturado procesando la petición, este temporizador ya no cuenta.
URL="https://migasfree.educa.aragon.es"
if curl -s --head \
--request GET "${URL}" \
--connect-timeout 3 \
--max-time 5 > /dev/null; then
    # Éxito: el servidor web está operativo y responde
    exit 0
else
    exit 1
fi