1

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?

dragonmantank
  • 493
  • 3
  • 12
  • 19

1 Answers1

2

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.
Scott Forsyth
  • 16,449
  • 3
  • 37
  • 56