--- server/scoreboard.c.orig 2008-06-05 16:40:04.000000000 +0300 +++ server/scoreboard.c.orig 2008-06-05 16:40:29.000000000 +0300 @@ -425,6 +425,7 @@ int old_status; worker_score *ws; process_score *ps; + char* host; if (child_num < 0) { return -1; @@ -460,7 +461,9 @@ apr_cpystrn(ws->client, ap_get_remote_host(c, r->per_dir_config, REMOTE_NOLOOKUP, NULL), sizeof(ws->client)); copy_request(ws->request, sizeof(ws->request), r); - apr_cpystrn(ws->vhost, r->server->server_hostname, + host = apr_table_get(r->headers_in, "Host"); + host = host? host : r->server->server_hostname; + apr_cpystrn(ws->vhost, host, sizeof(ws->vhost)); } }