3

I'm trying to get IIS to act as caching reverse proxy, but the cache hit is always 0%. And I really cannot tell why. And the docs always talk of a server farm setup, which is clearly not what I want.

I set up two sites, one with a binding to 127.0.0.1:80 (the web application) and one with a binding to *:443 (the reverse proxy). Now I have configured the RP site to forward requests with the URL Rewrite Module. That works.

Then I configured the Application Request Routing Cache on the IIS Server (why can this not be configured on a specific site???). The statistics sees the requests and counts them, but the cache hit rate remains 0%. What am I doing wrong?

  • 1
    BTW, the application does set Cache-Control: max-age correctly. – theDmi Feb 12 '14 at 11:25
  • I am trying to do the same, but cannot get things to work. Can you please post your (sanitized) rewrite rules? I have the following rule (which does not work): <rewrite> <rules> <rule name="https to http"> <match url="mypublicsite.com" /> <action type="Rewrite" url="myinternalsite" /> </rule> </rules> </rewrite> – aag Jan 19 '16 at 11:18
3

After some months since I asked this question, I should probably write an answer myself... We've been working with the setup as described in the question, and it actually works as expected. The only problem is, that the cache hit statistics just show some arbitrary information. I haven't been able to find out what it tries to show, but in my experience, it is very useless and even misleading.

Having that said, we managed to verify that the caching works by using performance counters for both the reverse proxy site and the application site. This showed that some requests are not forwarded to the application, so it actually did cache correctly.

I hope this answer spares someone the headache with the ARR statistics page that I had...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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