Build precise queries to find exactly what you need
Press ESC to close
Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More
I added $path_uri so the script can check URL like https://www.example.com/WebService/Service.svc
# ./check_https www.example.com 443 WebService/Service.svc
# my PID mypid=”$$” html_tmp=”/tmp/tmp_html.$mypid” rep_tmp=”/tmp/tmp_rep.$mypid” add_uri=’https://’ path_uri=” end_uri=’/’ PORT=” exit_code=2
if [ $# -lt 1 ] then echo “Arguments are missing! Run ./check_https IP_or_DNS port (optional) ” echo “Eg: ./check_https mywebsite.com” echo “Eg: ./check_https ::ffff:192.168.1.1 444” exit 1 fi
if [ $# -gt 1 ] then PORT=:$2 fi
# For https://www.example.com/WebService/Service.svc # path_uri is WebService/Service.svc
if [ $# -gt 2 ] then path_uri=:$3 fi
# Give some brain to this script. Detect yourself if we are checking an hostname, an ipv4 or an ipv6
if ipcalc -sc4 $1 then target=ipv4 else if ipcalc -sc6 $1 then target=ipv6 else # we consider here cases in which the passed argument is DNS name target=DNS fi fi
if [ ! “$target” == “ipv6” ] then /usr/bin/wget –timeout=10 –no-check-certificate –output-document=$html_tmp -S $add_uri$1$PORT$end_uri$path_uri 2> $rep_tmp else /usr/bin/wget –timeout=10 –no-check-certificate –output-document=$html_tmp -S $add_uri[$1]$PORT$$end_uri$path_uri 2> $rep_tmp
fi