Application Request Routing (ARR) as a reverse proxy?

Posted: Jul 09, 2008  8 comments  

Average Rating

Tags
Application Request Routing

Share this Post

I have been asked if Application Request Routing (ARR) can be used as a reverse proxy - and the answer is YES!

As you may know, ARR depends on URL rewrite module to inspect the incoming requests and determine which server group the request should be routed to.  Instead of defining a server group name, you can specify the destination server directly in the Rewrite URL input box.

Below is an example of how I routed all incoming requests to another server named, "wonyoo-w2k8" and I am also sending all traffic to port 9000 (you would be defining the rewrite rule below in the URL rewrite module UI):

 

Comments

I am confused... why is it saying {R:1}, shouldn't it be {R:0}? Do R and C count from 0 or from 1? This whole forum and the tutorials are seem to be more confused than I am on the topic, mostly starting from 1 whereas the downloadable software counts from 0!

Aug 05 2008 by Anonymous

This article explains this in details:

learn.iis.net/.../url-rewrite-module-configuration-reference

Back-references to condition patterns are identified by {C:N} where N is from 0 to 9; back-references to rule pattern are identified by {R:N} where N is from 0 to 9. Note that for both types of back-references, {R:0} and {C:0}, will contain the matched string.

For example in this pattern:

www.*.com

For the string: www.foo.com the back-references will be indexed as follows:

{C:0} - www.foo.com

{C:1} - foo

Sreenshot used in this blog post uses pattern as "*", which basically means match anything and capture whatever was matched into a back reference. In that particular case both {R:0} and {R:1} will contain the same value, so you could use either one.

Sep 10 2008 by ruslany

www.tech-faq.com/proxy-sites.shtml

In my testing, I use shared configuration and it's been working pretty well.  As you had indicated, it is such a time saver since you only need to make the changes once.  Also, adding additional web servers is a simple 3 step process:

  1.

     Provision the new web server.

  2.

     Configure the server to use the shared config.

  3.

     Add the new server to the server group in ARR.

Let me know if you are still experiencing problems.

Nov 13 2008 by Anonymous

Hi I tried to forward incoming requests to a different server in the local network (http://server_name/...) and it did not work. When I changed this rule to the localhost, the rule worked. Is there a limitation for forwarding requests to other servers in the LAN? thanks Jonas.

Feb 09 2009 by lonas_halor

And another quick question: is it possible to do ARR with ftp:// or only with http:// Thanks, Jonas

Feb 09 2009 by lonas_halor

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.

Ruth

http://ramupgrade.info

Mar 17 2009 by Anonymous

It looks like you can either reverse proxy everything (as in this example) or nothing - is that right? I tried using a rewrite rule like this at the site level (I just want to proxy traffic that matches a hostname) and thesimp,eregex "*" throws an error:  facebook.stackoverflow.com/.../simple-iis-redirection-expression-throws-an-error-the-expression-cont

Oct 27 2011 by twrx

Example using ARR with SharePoint 2013 and Office Web Apps behind a single IP address

www.spsdemo.com/.../start.aspx

Nov 27 2013 by imorrish

Submit a Comment

  • Plain text is accepted.
  • URLs starting with http:// are converted to links.