summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--THANKS.in1
-rw-r--r--plugins/check_http.c14
2 files changed, 13 insertions, 2 deletions
diff --git a/THANKS.in b/THANKS.in
index 56bc7ee2..a003fa81 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -237,3 +237,4 @@ Christian Schneemann
237Rob Windsor 237Rob Windsor
238Hilko Bengen 238Hilko Bengen
239Sven Nierlein 239Sven Nierlein
240Erik Wasser
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)
789 asprintf (&buf, "%sConnection: close\r\n", buf); 789 asprintf (&buf, "%sConnection: close\r\n", buf);
790 790
791 /* optionally send the host header info */ 791 /* optionally send the host header info */
792 if (host_name) 792 if (host_name) {
793 asprintf (&buf, "%sHost: %s:%d\r\n", buf, host_name, server_port); 793 /*
794 * Specify the port only if we're using a non-default port (see RFC 2616,
795 * 14.23). Some server applications/configurations cause trouble if the
796 * (default) port is explicitly specified in the "Host:" header line.
797 */
798 if ((use_ssl == FALSE && server_port == HTTP_PORT) ||
799 (use_ssl == TRUE && server_port == HTTPS_PORT))
800 asprintf (&buf, "%sHost: %s\r\n", buf, host_name);
801 else
802 asprintf (&buf, "%sHost: %s:%d\r\n", buf, host_name, server_port);
803 }
794 804
795 /* optionally send any other header tag */ 805 /* optionally send any other header tag */
796 if (http_opt_headers_count) { 806 if (http_opt_headers_count) {