Rewrite IIS served subdomain with content from other server/port

Our main web server is using IIS 6 and it obviously catches all port 80 traffic and we have another app served on a non-standard port (8443) that is hosted using Apache.

For example:

  • http://www.mydomain.com -> IIS6
  • http://subdomain.mydomain.com:8443 -> Apache App
  • http://subdomain.mydomain.com -> IIS6

I would like to be able to access the Apache app without using port 8443. That is, IIS should rewrite/proxy content from the Apache app on the different port. Note: I do not want to redirect the user.

  • http://subdomain.mydomain.com -> IIS <-> http://subdomain.mydomain.com:8443 -> Apache App

Is this possible? What tools should I use?


This is called Reverse proxy.

And yes, this is possible for most web applications.

As to the tools, I think your best bet is to try this with the great IIRF - Ionic's Isapi Rewrite Filter - IIRF works great on IIS6, and it's fast and free.

Though I only had to use Apache's mod_proxy to set up a reverse proxy (but IIRF for rewriting urls on other sites), IIRF should be up to the task.

From the FAQ:

Can IIRF act as a transparent proxy (like Apache's mod_proxy)?

Yes. ProxyPass, ProxyPassReverse, and ProxyPreserveHost are supported.

The documentation of IIRF contains actually very concise information about setting up (reverse) proxies, as well as some guidance on what to look out for:

  • Http Proxies
  • ProxyPass instruction and implications