Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm setting up a Tomcat app running on https://localhost:9443/ on Windows 2008 R2 and I want to put it behind a reverse proxy. I've installed the Advanced Request Routing 2 package from Microsoft, and on the main server node I see a new option called 'Advanced Request Routing Cache'. From all of the tutorials I've seen, I should be able to:

  • Open up Advanced Request Routing Cache
  • Click on 'Server Proxy Settings'
  • Check 'Enable Proxy'
  • Add a URL Rewrite Rule with the URL pointing to my tomcat app

I tried setting the URL Rewrite Rule at both the server node level and the site level, but each time I try to access the reverse proxy URL I just get a 404.

I saw that there was an extra option called 'Use URL Rewrite to inspect incoming requests', but if I check that box it wants a proxy server entered. No matter what I enter, the server then starts responding with 502 on all requests, not just the ones I wanted proxied.

Am I missing something here or does this not work the same between IIS 7.0 (which all the tutorials seem written against) and 7.5?

share|improve this question

Is 'localhost' on the same server? i.e. is Tomcat on port 9443 while ARR is on port 80, on the same server?

Here are the key things to setup:

  • create a Server Farm. If it's on the same box, add a single node pointing to 'localhost'.
  • if you say 'yes' to create the URL Rewrite rules, it will capture all traffic and forward to that server farm. If that's fine, then say yes.
  • if you didn't create the URL Rewrite rule in the previous step, then go to the top level of IIS, go to URL Rewrite, and create a new rule. Use {HTTP_HOST} for the domain name, or {SERVER_ADDR} for the IP binding. Set the action to use the Server Farm you set up in the first step above.
  • the Default Web Site should catch all traffic, which in turn will be caught by the URL Rewrite rule at the global level.
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.