summaryrefslogtreecommitdiffstats
path: root/plugins/check_http.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_http.c')
-rw-r--r--plugins/check_http.c14
1 files changed, 12 insertions, 2 deletions
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) {