Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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 have set the following configuration set for a reverse proxy using ARR + URL Rewrite IIS7.5

I am trying to proxy through front end site

Note I'm mapping the proxy url to the origin url with a virtual directory. I get a 500 error. Any ideas as to what I'm doing wrong here?

<?xml version="1.0" encoding="UTF-8"?> 
            <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                <match url="(.*)" />
                    <add input="{CACHE_URL}" pattern="^(https?)://" />
                <action type="Rewrite" url="{C:1}://{R:1}" />
            <rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1">
                <match filterByTags="A, Form, Img" pattern="^http(s)?://*)" />
                <action type="Rewrite" value="http{R:1}://{R:2}" />
                <preCondition name="ResponseIsHtml1">
                    <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
share|improve this question

To proxy you should instead use Application Request Routing (ARR) module. That is a true reverse proxy option.

A 'redirect' is a client-side redirect to another URL, and a 'rewrite' (in your example) changes the URL on the back end before it hits disk, but it's not a proxy. A rewrite is local to the same site and it can't cross app pool bounds.

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.