From 8430be0b4b1fe55e15e43bd4980006a412bca77c Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Tue, 2 Sep 2008 11:26:31 +0000 Subject: Some HTTP server applications/configurations cause trouble if the port is explicitly specified in our "Host:" header line. Therefore, we now specify the port only if we're using a non-default port (Erik Wasser - 2082501). git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2053 f882894a-f735-0410-b71e-b25c423dba1c --- plugins/check_http.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'plugins') diff --git a/plugins/check_http.c b/plugins/check_http.c index 718fb840..69ed2fa9 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c @@ -789,8 +789,18 @@ check_http (void) 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); + if (host_name) { + /* + * Specify the port only if we're using a non-default port (see RFC 2616, + * 14.23). Some server applications/configurations cause trouble if the + * (default) port is explicitly specified in the "Host:" header line. + */ + if ((use_ssl == FALSE && server_port == HTTP_PORT) || + (use_ssl == TRUE && server_port == HTTPS_PORT)) + asprintf (&buf, "%sHost: %s\r\n", buf, host_name); + else + asprintf (&buf, "%sHost: %s:%d\r\n", buf, host_name, server_port); + } /* optionally send any other header tag */ if (http_opt_headers_count) { -- cgit v1.2.3-74-g34f1