I've Web Cache 10.1.2.0.2 in front of an IIS 7.5 server trying to establish a basic caching connection.
Site listener in cache is on port 80, origin server on 7778 and the IIS web site (actual origin server) is bound to *:7778. If you point a browser to hostname:7778 of the IIS server, it works fine.
When accessing the site via the web cache listener on port 80, I get
Bad Request - Invalid Hostname / HTTP Error 400. The request hostname is invalid.
I've put wireshark between my PC and web cache and on the IIS server to monitor the traffic on both network paths. The error is indeed being thrown by IIS immediately after receiving a request from web cache per the resulting traces.
I understand this works with apache since you can define a server alias = to the web cache listener hostname and set the response port = to that of the web cache listener. I've been doing this for years.