Can IIS be configure to forward request to another web server?

Solution 1:

For IIS 7.5, Microsoft provides official modules for this!

  • URL Rewrite: http://www.iis.net/download/URLRewrite
  • Reverse proxy: http://www.iis.net/download/ApplicationRequestRouting

In the site settings, you'll get an "URL Rewrite" icon.

  • Open it
  • right click on the "inbound rules list"
  • Select "Add Rule(s)"
  • Choose "Reverse proxy"

In this dialog you can enter the hostname + port to forward to. After adding the rule, opening the edit dialog offers more customizations.

Solution 2:

I'm using a third-party software for Windows (IIS) for this purpose, which - besides other things like URL rewriting - does this job pretty well: ISAPI Rewrite.

ISAPI Rewrite is a powerful URL manipulation engine based on regular expressions. It acts mostly like Apache's mod_Rewrite, but is designed specifically for Microsoft's Internet Information Server (IIS). ISAPI Rewrite is an ISAPI filter written in pure C/C++ so it is extremely fast. ISAPI_Rewrite gives you the freedom to go beyond the standard URL schemes and develop your own scheme.

Search for "Proxying". Here is the documentation for the RewriteProxy Rule.

There is also a very similar open-source project: Ionic's Isapi Rewrite Filter.