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