I've noticed that some customers use Application Request Routing (ARR) to load balance between multiple sites that run on the same Windows/IIS instance. For example, ARR may be listening on port 80, and it load balances the requests between 3 sites that listen on port 8080, 8081 and 8082 on the same ARR server.
This is certainly a supported scenario, but if you tried this, you may have seen the following error:
In above case, it is because I have already added localhost:8080 to the server farm and I am now trying to add the second server, localhost:8081. This is because ARR, more accurately Web Farm Framework, determines the "uniqueness" of a server by the server name (or an alias) without the port. So in this case, I am trying to add "localhost" second time.
How do we get around this?
The server address in Web Farm Framework is really nothing more than an alias. So given a server, a server name, a fully qualified domain name (FQDN), an IPv4 and an IPv6 are 4 different aliases. And if you tried to enter the same Windows/IIS instance using different aliases, Web Farm Framework will treat them as unique servers.
Going back to the example above, I would actually recommend adding aliases for the loopback adapter, 127.0.0.1, in the host file (c:\windows\system32\drivers\etc\hosts):
Once I do that, now I can reference the 3 sites as mysite0:8080, mysite1:8081 and mysite2:8082, like so:
Thanks for using ARR and please continue to provide feedback via the ARR form at http://forums.iis.net/1154.aspx.