[Nagiosplug-help] Change in check_http behavior, and how to disable?
Chris Knight
boheme at gmail.com
Tue Oct 21 02:35:22 CEST 2008
For over a year I've had a fairly simple http check in place, and one
day a few weeks back it suddenly stopped working after an update of my
nagios plugins. The check is fairly simple:
/opt/local/libexec/nagios/check_http -H download.gamevideos.com -u /favicon.ico
The check fails, but using the URL
http://download.gamevideos.com/favicon.ico in wget, or a web browser,
works fine.
I tracked down the issue to a change in the Host header that
check_http is sending. It appears that in a recent update to
check_http started adding the default port (80) to the Host header.
So, where wget issues:
wget http://download.gamevideos.com/favicon.ico
GET /favicon.ico HTTP/1.0
User-Agent: Wget/1.11.4
Accept: */*
Host: download.gamevideos.com
Connection: Keep-Alive
check_http sends this:
/opt/local/libexec/nagios/check_http -H download.gamevideos.com -u /favicon.ico
GET /favicon.ico HTTP/1.0
User-Agent: check_http/v1991 (nagios-plugins 1.4.12)
Connection: close
Host: download.gamevideos.com:80
While RFC 2616 does indicate that adding :PORT to the Host header is
valid, this can be a problem when the website in question is behind a
content switch that is doing exact matches on the Host header. In my
case, I wound up adding an additional set of rules to match the
host:port host header, but it sure would have been nice to have a
command line flag I could have used on check_http to disable this new
behavior.
Just wondering if this has bitten anyone else, and thought I would
share in case this was an active problem for anyone.
-Chris
More information about the Help
mailing list