How would I configure IIS 7.0's ARR and URL Rewrite to reverse proxy based on a host.
For example:
http://website1.mydomain.com gets routed internally to internalserver\website1
http://website2.mydomain.com gets routed internally to internalserver2\website2
http://website3.mydomain.com gets routed internally to internalserver2 (default website)
FYI - The public DNS website1.mydomain.com and the rest are all actually pointing to the public IP of mydomain.com.
Note that this is not all the same server. There are multiple web servers INSIDE the firewall and one plain default web server whose port 80 and 443 are exposed to the outside. I have one IP Address and one domain name. Thus, since I have multiple web servers inside my firewall, I need to route hostname subdomains to different web servers on the inside.
Any detailed steps would help tremendously.
Since you're relying on the domain name rather than IP (which is easier in this situation), here's the most straight forward way of doing this:
make sure that your outside-facing server has bindings for the 3 sites based on the host header (website1.mydomain.com, etc). You can leave the IP address as (All unassigned). You probably have this done already. -- Basically what I mean is to add a binding to the first site that is "website1.mydomain.com", and to the other two sites in a similar way. Here's a walkthrough on bindings.
create 2 Web Farms in ARR on the ARR server. One to internalserver and the other to internalserver2. Use the primary IPs of those servers. You can setup 3 different Web Farms if you want unique health checks for each website. It's ok that two of them point to the same server. -- Steps: Create a new Server Farm called InternalServer and add a single server to it, which is "internalserver". Then create another Server Farm called InternalServer2, and add just "internalserver2" to it.
Example URL Rewrite:
If you are using a SonicWALL, you can do this:
If you use a different firewall, see if you can do something similar with yours.
Since it's all on the same server, why not just create three separate web sites with bindings to the specified subdomains?