Question : Semi-complex IIS + DNS + Proxy configuration help.

Hi,

I'm kind of stuck and need some advice.

Here's the situation.

I run a windows 2003 webserver with IIS, and I use an apache server as a proxy pass for another server.

Details:
On my windows machine I have three ip address 192.168.100.2, 3, and 4. In DNS and on my router I route three public ip address to the three internal address and assign three subdomains in DNS...

sub1.mydomain.com = xx.xx.xx.66 public with routes to 192.168.100.2 internal
sub2.mydomain.com = xx.xx.xx.67 public with routes to 192.168.100.3 internal
sub3.mydomain.com = xx.xx.xx.68 public with routes to 192.168.100.4 internal

For sub1 and sub2, these are website being served on IIS with port 80 and 443 (for the SSL side)

Now here is where I need some help. For sub3 I am using an appache server as a proxy pass going to a completely separate server. Before I tried to separate this out into three separate sub-domains I was simply using a different port of the proxy pass. For example mydomain.com:82/websiteonotherserver - and this worked fine, but it is becoming problematic for users to remember to put :82 in there.

The problem is that even though I have apache setup to "listen" on 192.168.100.4 (on port 80) I get an error from IIS of "Bad Request (Invalid Hostname)" - looking up this error message suggests it has to do with how IIS is assigning the available ip addresses on the nic. But no mater what configurations I make the the two IIS websites (choosing the ip instead of the All Unasigned) I get this error.

My assumption is that this isn't going to possible having both IIS and apache running on the same machine as IIS will be the one to listen on port 80 first.

Anyone have any ideas on how I should try and approach this? I may just end up building another machine to run apache on as a proxy pass only. But I would prefer keeping it all on one server.

Thanks in advance.

Answer : Semi-complex IIS + DNS + Proxy configuration help.

As you have discovered, IIS binds to all available IP addresses on the server by default.

there are two workarounds:

1.  let apache load on port 82 like you always did, but on the router, map xx.xx.xx.68 port 80 to 192.168.100.4 port 82.
2.  disable 'socket pooling' on IIS - http://support.microsoft.com/kb/813368/en-us

cheers!
Random Solutions  
 
programming4us programming4us