aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--THANKS.in1
-rw-r--r--plugins/check_http.c12
3 files changed, 5 insertions, 9 deletions
diff --git a/NEWS b/NEWS
index c2be9029..96c45917 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,6 @@ This file documents the major additions and syntax changes between releases.
check_procs now captures stderr in external command and adds to plugin output
check_snmp now only prints perfdata for non numeric values (#1867716)
check_icmp now supports packet size modification
- check_http now sends the Host header first to fix 301s on servers with vitrual hosts (Michael Harris).
check_http -e now accepts a comma-delimited list of expected status codes
libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap
diff --git a/THANKS.in b/THANKS.in
index e63e9f62..56bc7ee2 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -236,5 +236,4 @@ Jan Wagner
Christian Schneemann
Rob Windsor
Hilko Bengen
-Michael Harris
Sven Nierlein
diff --git a/plugins/check_http.c b/plugins/check_http.c
index 4a3d692b..718fb840 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -783,17 +783,15 @@ check_http (void)
}
#endif /* HAVE_SSL */
- /* If a hostname is provided, use HTTP/1.1 and send the hostname before the
- * Useragent. This fixes an issue with getting 301 responses from servers
- * with virtual hosts */
- if (host_name)
- asprintf (&buf, "%s %s HTTP/1.1\r\nHost: %s\r\n%s\r\n", http_method, server_url, host_name, user_agent);
- else
- asprintf (&buf, "%s %s HTTP/1.0\r\n%s\r\n", http_method, server_url, user_agent);
+ asprintf (&buf, "%s %s HTTP/1.0\r\n%s\r\n", http_method, server_url, user_agent);
/* tell HTTP/1.1 servers not to keep the connection alive */
asprintf (&buf, "%sConnection: close\r\n", buf);
+ /* optionally send the host header info */
+ if (host_name)
+ asprintf (&buf, "%sHost: %s:%d\r\n", buf, host_name, server_port);
+
/* optionally send any other header tag */
if (http_opt_headers_count) {
for (i = 0; i < http_opt_headers_count ; i++) {